Kotlin 2.4.20‑Beta2 ปล่อยเวอร์ชันเบต้าเพิ่มการสนับสนุน coroutine stack trace recovery

ที่มาภาพ: InfoWorld

Software-อ่าน 6 นาทีInfoWorld

Kotlin 2.4.20‑Beta2 ปล่อยเวอร์ชันเบต้าเพิ่มการสนับสนุน coroutine stack trace recovery

⚡ สรุป 30 วิ

JetBrains เปิดตัว Kotlin 2.4.20‑Beta2 พร้อมคุณสมบัติใหม่อย่าง coroutine stack trace recovery ช่วยให้การดีบักโครูทีนแม่นยำขึ้น อีกทั้งปรับปรุง Kotlin/Wasm,…

JetBrains ปล่อย Kotlin 2.4.20‑Beta2 เมื่อวันที่ 2 กรกฎาคมนี้ ซึ่งเป็นการอัปเดตสำคัญของภาษาการเขียนโปรแกรมแบบหลายแพลตฟอร์ม โดยเพิ่มความสามารถใหม่เช่น การสนับสนุน coroutine stack trace recovery, การปรับพฤติกรรมของ Kotlin/Wasm, และเครื่องมือคอมไพล์เนทีฟที่เร็วขึ้น สิ่งเหล่านี้ทำให้การพัฒนาแอปพลิเคชันข้ามภาษาและแพลตฟอร์มมีความเสถียรและตรวจสอบข้อผิดพลาดได้ง่ายยิ่งขึ้น

Overview

เวอร์ชันเบต้าใหม่นี้ต่อเนื่องจากแนวทางของ Kotlin ที่ขยายขอบเขตการทำงานไปสู่ Wasmtime runtime, การใช้งานฟังก์ชันใน JavaScript ผ่าน `@JsFun` และการเชื่อมต่อกับ Swift อย่างเป็นระบบ ตามรายงานของ JetBrains การเปลี่ยนแปลงนี้ครอบคลุมหลายระดับตั้งแต่คอมไพเลอร์จนถึงไลบรารีมาตรฐาน

ส่วนที่สำคัญที่สุดคือการเพิ่ม StackTraceRecoverable เข้าไปใน standard library ซึ่งอยู่ในขั้นทดลอง แม้จะยังต้องอาศัยการทำงานร่วมกับ `kotlinx.coroutines` แต่ก็ช่วยให้ผู้พัฒนาสามารถสร้างอินสแตนซ์ของข้อยกเว้นใหม่เพื่อเรียกคืน stack trace ได้โดยไม่ต้องเพิ่ม dependency เพิ่มเติม

New Language Features

Kotlin/Wasm มีการปรับลำดับการเริ่มต้น companion object ของคลาสแม่ก่อนคลาสลูก เพื่อให้สอดคล้องกับพฤติกรรมของ JVM ก่อนหน้านี้อาจเกิดการกลับกันซึ่งทำให้ผลลัพธ์ข้ามแพลตฟอร์มไม่สม่ำเสมอ การปรับนี้ช่วยลดความผิดพลาดในการใช้งานไลบรารีที่ขึ้นกับการเริ่มต้นแบบ deterministic

นอกจากนี้ cross‑language inheritance สำหรับ Swift export ถูกเปิดใช้เป็นครั้งแรก ผู้พัฒนาสามารถกำหนด contract ใน Kotlin แล้วทำการสืบทอดและทำ implement บนฝั่ง Swift ได้อย่างตรงไปตรงมา ซึ่งเป็นรูปแบบ “reverse import” ที่เคยต้องเขียนโค้ดเชื่อมต่อหลายขั้นตอน

สำหรับ Kotlin/JS มี DSL ทดลอง สำหรับทดสอบบนเบราว์เซอร์ และการสนับสนุนการส่งออก `suspend` lambda เป็นฟังก์ชัน async ของ JavaScript ทำให้คอมไพเลอร์จัดการการแปลงระหว่างโมเดล `suspend` ของ Kotlin กับ `async/await` ของ JavaScript โดยอัตโนมัติ

Platform Improvements

Kotlin Gradle plugin เพิ่ม Wasmtime เป็น runtime สำหรับเป้าหมาย `wasmWasi` ทำให้ผู้พัฒนาที่ต้องการรัน WebAssembly บนสภาพแวดล้อมที่มีระบบไฟล์และ syscalls สามารถทำได้ง่ายขึ้นโดยไม่ต้องตั้งค่าเครื่องมือภายนอก

การจัดการ **top‑level require() ในคำประกาศ `@JsFun` ก็ได้รับการแก้ไขเพื่อให้พฤติกรรมตรงกับมาตรฐานของ JavaScript module system ซึ่งช่วยลดความซับซ้อนเมื่อทำงานร่วมกับไลบรารี npm หรือโค้ด TypeScript ที่มีการเรียกใช้โมดูลจากระดับบนสุด

Experimental Additions

เวอร์ชันนี้นำฟังก์ชันใหม่สี่ตัวสำหรับตรวจสอบคอลเลกชันเข้ามาใน library ซึ่งอยู่ในขั้นทดลอง ได้แก่

  • .allDistinct() และ .allDistinctBy() – ตรวจสอบว่าทุกองค์ประกอบของ collection ไม่ซ้ำกัน
  • .allEqual() และ .allEqualBy() – ตรวจสอบว่าองค์ประกอบทั้งหมดเท่ากันตาม structural equality

ฟังก์ชันเหล่านี้สามารถใช้ได้กับ collection, sequence และ array ทำให้โค้ดที่ต้องการตรวจสอบความแตกต่างหรือความเท่าเทียมของข้อมูลมีประสิทธิภาพมากขึ้นโดยไม่จำเป็นต้องเขียนลูปหรือกรองเอง

อีกหนึ่งคุณสมบัติสำคัญคือ Kotlin compiler native image ซึ่งเป็นตัวแทนใหม่สำหรับคำสั่ง `kotlinc` แบบดั้งเดิม ให้การเริ่มต้นทำงานเร็วกว่าและประสิทธิภาพสูงขึ้น แม้ยังอยู่ในขั้นทดลอง แต่เป็นจุดเริ่มต้นของแนวทางที่คอมไพเลอร์อาจทำงานแบบ native image ในอนาคต

Impact

การเปิดตัว Kotlin 2.4.20‑Beta2 แสดงให้เห็นว่า JetBrains ยังคงมุ่งเน้นความสอดคล้องระหว่างแพลตฟอร์มและการปรับปรุงประสบการณ์ผู้พัฒนา ทั้งในด้าน debugging (ด้วย coroutine stack trace recovery) การทำงานร่วมกับ WebAssembly, JavaScript และ Swift ทำให้ Kotlin กลายเป็นตัวเลือกที่แข็งแกร่งสำหรับโครงการข้ามภาษา

นักพัฒนาที่ใช้ `kotlinx.coroutines` จะได้รับประโยชน์โดยตรงจากการเรียกคืน stack trace ที่แม่นยำขึ้น ซึ่งช่วยลดเวลาในการวิเคราะห์ข้อผิดพลาดของระบบ asynchronous ขณะที่ทีม DevOps อาจเห็นผลดีจาก native image ที่ทำให้เวลาการบูตและการใช้ทรัพยากรต่ำลง

ในระยะสั้นฟีเจอร์ทดลองอาจยังต้องการการทดสอบเพิ่มเติมก่อนนำเข้าสู่ production อย่างเป็นทางการ แต่การเปิดตัวเหล่านี้แสดงถึงแนวโน้มของ Kotlin ที่จะต่อยอดความสามารถด้าน performance, interoperability และ tooling ให้ครอบคลุมทุกสภาพแวดล้อมการพัฒนา

Summary

Kotlin 2.4.20‑Beta2 นำเสนอการปรับปรุงสำคัญทั้งในระดับภาษาหลังคอมไพล์และเครื่องมือสนับสนุน โดยเน้นการทำงานร่วมกับ WebAssembly, JavaScript และ Swift พร้อมฟีเจอร์ทดลองเช่น coroutine stack trace recovery และ native image การอัปเดตนี้คาดว่าจะเพิ่มความเสถียรและประสิทธิภาพให้กับผู้พัฒนาที่สร้างแอปพลิเคชันข้ามแพลตฟอร์ม.

แชร์บทความนี้:

ชอบบทความแบบนี้?

สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม

แหล่งข่าวต้นฉบับ

ชื่อต้นฉบับ
Kotlin beta previews support for coroutine stack trace recovery
ผู้เขียน
Unknown
แหล่ง
InfoWorld
วันที่เผยแพร่
28 กรกฎาคม 2569 เวลา 07:54

Related

บทความที่เกี่ยวข้อง

Task Manager ของ Windows แปลงเป็นแอปฟรีบน macOS ยกระดับ Activity Monitor.Software
-

Task Manager ของ Windows แปลงเป็นแอปฟรีบน macOS ยกระดับ Activity Monitor.

Dave Plummer ปล่อย Task Manager เบต้าฟรีบน macOS เพื่อตอบแทน Activity Monitor ที่ผู้ใช้วิจารณ์ขาดฟีเจอร์ แอป Swift นี้อ้างอิงซอร์สโค้ด Windows XP จาก Microsoft.

Tom's Hardware6 นาที
Project Zomboid เปิดอัปเดต Build 42 เพิ่มสัตว์เลี้ยงและชั้นใต้อดิน สร้างประสบการณ์เอาตัวรอดใหม่Software
31 กรกฎาคม 2569 เวลา 23:30

Project Zomboid เปิดอัปเดต Build 42 เพิ่มสัตว์เลี้ยงและชั้นใต้อดิน สร้างประสบการณ์เอาตัวรอดใหม่

Project Zomboid ปล่อยอัปเดตใหญ่ Build 42 เพิ่มสัตว์เลี้ยง วัว ไก่ และชั้นใต้ดินในอาคารสำคัญ พร้อมทักษะ blacksmithing, woodwork…

GamesRadar7 นาที
The Eventide ผสานศิลปะแบบวอเตอร์คัลเลอร์และโทน neon‑noir กับการสืบสวนแบบ X‑FilesSoftware
31 กรกฎาคม 2569 เวลา 22:00

The Eventide ผสานศิลปะแบบวอเตอร์คัลเลอร์และโทน neon‑noir กับการสืบสวนแบบ X‑Files

The Eventide จากทีมเก่า BioWare เปิดตัวเทรลเลอร์สไตล์วอเตอร์คัลเลอร์และโทน neon‑noir ผสมผสานการสืบสวนแนว X‑Files กับระบบ deduction แบบ Golden Idol…

Rock Paper Shotgun7 นาที
ตั้งค่า TrueNAS บน Proxmox ตามคำแนะนำของ iXsystems ทำงานยอดเยี่ยมSoftware
31 กรกฎาคม 2569 เวลา 07:00

ตั้งค่า TrueNAS บน Proxmox ตามคำแนะนำของ iXsystems ทำงานยอดเยี่ยม

บทความอธิบายขั้ນตอนการติดตั้ง TrueNAS บน Proxmox ตามแนวทางของ iXsystems เพื่อรวมศูนย์จัดเก็บข้อมูลในห้องทดลองส่วนบุคคล ประสิทธิภาพใกล้เคียง bare‑metal…

XDA Developers7 นาที
คัดลอกลิงก์แล้ว!