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

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

G# ภาษาใหม่บน .NET ผสานแนวคิดจาก Go, Kotlin และ Swift.Software
-

G# ภาษาใหม่บน .NET ผสานแนวคิดจาก Go, Kotlin และ Swift.

G# เปิดตัวเป็นภาษาที่ออกแบบให้เบาและใช้งานง่ายบนแพลตฟอร์ม .NET โดยอิงจากคุณลักษณะของ Go, Kotlin และ Swift…

InfoWorld8 นาที
Modern Warfare 4 เปิดเผยวันเบต้าแบบเปิดและปิด พร้อมเวอร์ชันสำหรับ Switch 2 และงาน Call of Duty: NextSoftware
-

Modern Warfare 4 เปิดเผยวันเบต้าแบบเปิดและปิด พร้อมเวอร์ชันสำหรับ Switch 2 และงาน Call of Duty: Next

Activision ประกาศกำหนดการ Closed Beta และ Open Beta ของ Modern Warfare 4 รวมเวอร์ชันสำหรับ Switch 2 นอกจากนี้ยังมีงาน Call of Duty: Next…

Eurogamer5 นาที
Valve เลิกพึ่ง Windows 8 หันไปใช้ Linux กลายเป็นหัวใจของชุมชนเกมโอเพ่นซอร์สSoftware
27 กรกฎาคม 2569 เวลา 23:00

Valve เลิกพึ่ง Windows 8 หันไปใช้ Linux กลายเป็นหัวใจของชุมชนเกมโอเพ่นซอร์ส

Valve ย้ายจาก Windows 8 ไปยัง Linux ไม่ใช่แค่หลบหนี แต่กลายเป็นแรงผลักดันให้ชุมชนเกมเปิดเทคโนโลยีใหม่ การเปิด SteamOS, Proton และ Steam Deck…

XDA Developers6 นาที
ทำไมไม่ต้องซื้อซอฟต์แวร์ทำความสะอาด Windows เมื่อ Sysinternals ฟรีครบเครื่องSoftware
27 กรกฎาคม 2569 เวลา 06:30

ทำไมไม่ต้องซื้อซอฟต์แวร์ทำความสะอาด Windows เมื่อ Sysinternals ฟรีครบเครื่อง

หลายคนเชื่อว่าซอฟตร์แวร์ทำความสะอาด Windows มีค่าใช้จ่ายจำเป็น แต่ชุดเครื่องมือฟรีของ Sysinternals จาก Microsoft…

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