
ที่มาภาพ: InfoWorld
Microsoft ปล่อย .NET 11 Preview 6 พร้อมการปรับปรุงประสิทธิภาพ async และไลบรารี System.Text.Json
⚡ สรุป 30 วิ
.NET 11 Preview 6 เปิดตัวเมื่อ 14‑ก.ค. 2024 มาพร้อมการเร่งความเร็วของ async/await ลด overhead ของ JIT และเพิ่มคุณสมบัติใหม่ใน System.Text.Json สำหรับ union…
Microsoft ปล่อย .NET 11 Preview 6 พร้อมการปรับปรุงหลายด้าน Microsoft เปิดให้ดาวน์โหลด Preview 6 ของแพลตฟอร์มพัฒนา .NET 11 ตั้งแต่วันที่ 14‑กรกฎาคม 2024 ผ่าน dotnet.microsoft.com โดยคาดว่าจะออกเวอร์ชันเต็มสำหรับการใช้งานจริงในเดือนพฤศจิกายน รายละเอียดการอัปเดตครอบคลุม Runtime, ไลบรารี, เฟรมเวิร์ก และภาษาการเขียนโปรแกรม C# และ F# ซึ่งเป็นสัญญาณสำคัญต่อผู้พัฒนาที่ใช้เทคโนโลยีของ Microsoft เป็นฐานในการสร้างแอปพลิเคชัน
Overview
การเปิดตัว Preview 6 นี้เป็นขั้นตอนที่หกของกระบวนการทดลองซึ่งเริ่มต้นจาก Preview 1 ที่ประกาศเมื่อ 10 กุมภาพันธ์ ของปีนี้ การอัปเดตครั้งล่าสุดมุ่งเน้นให้ประสิทธิภาพของระบบ asynchronous ทำงานเร็วขึ้นและลดภาระของ JIT (Just‑In‑Time compiler) อย่างเห็นได้ชัด นอกจากนี้ยังเพิ่มความสามารถใหม่ในไลบรารีเช่น System.Text.Json ที่รองรับชนิดข้อมูลแบบ union ของ C# ซึ่งทำให้การจัดการ JSON มีความยืดหยุ่นมากขึ้น
จากมุมมองของ Microsoft เอง การปรับปรุงเหล่านี้ได้รับการออกแบบเพื่อ “ลด overhead ของ async/await และเพิ่มประสิทธิภาพของคอมไพเลอร์ในกรณีที่ใช้โค้ดที่ซับซ้อน” ซึ่งสอดคล้องกับแนวทางของ .NET 11 ที่ต้องการให้เป็นแพลตฟอร์มที่เร็วและมีน้ำหนักเบาสำหรับแอปพลิเคชันบนคลาวด์และอุปกรณ์ขนาดเล็ก
Runtime Improvements
ในส่วนของ runtime‑async Microsoft รายงานว่า “การทำงานของ async/await ได้รับการเร่งความเร็วจากการปรับปรุง suspension ที่เริ่มต้นใน Preview 5” โดยเฉพาะอย่างยิ่ง continuations ของ async สามารถเลือกไม่จับข้อมูล ExecutionContext ทำให้ขั้นตอนต่อไปของโค้ดดำเนินได้โดยไม่มีค่าใช้จ่ายเพิ่มเติม นอกจากนี้ JIT ได้รับคำสั่งใหม่เพื่อคอมไพล์เวอร์ชันที่ทำงานแบบ runtime‑async โดยตรงสำหรับเมธอดซิงโครนัสที่คืนค่า Task แทนการส่งต่อผ่าน thunk
ผลลัพธ์คือ tail calls ของเมธอดจะถูกแปลงเป็นเรียกใช้ runtime‑async และรอคอย Task ที่ควรจะคืนค่าโดยอัตโนมัติ ลดชั้นของการ indirection ที่เคยทำให้ประสิทธิภาพลดลงตามที่ Microsoft ระบุไว้ในบล็อกเทคนิคของตน
Library & Language Enhancements
การอัปเดตของไลบรารีเน้นไปที่ System.Text.Json ซึ่งตอนนี้สามารถ serialize และ deserialize ชนิด union ของ C# ได้อย่างเต็มรูปแบบ ระบบตรวจจับ union ผ่านค่าใหม่ JsonTypeInfoKind.Union** แล้วอ่าน/เขียนเคสที่ใช้งานอยู่ พร้อมรองรับทั้ง serializer ที่ใช้ reflection และ source generator
- JsonUnionAttribute, JsonUnionCaseInfo และ API ตัวจัดประเภทชนิด (type‑classifier) ถูกเพิ่มเข้ามาเพื่อให้ผู้พัฒนาสามารถกำหนดวิธีการค้นหาและตั้งชื่อเคสได้ตามต้องการ
- ส่วนของภาษา C# มีการขยายคุณสมบัติ extension members ให้รวม indexer ด้วย ทำให้นักพัฒนาสามารถเพิ่มการเข้าถึงแบบ `[]` ให้กับประเภทที่กำหนดโดยใช้ block ของ extension ได้เหมือนกับการประกาศ indexer ปกติ
ฟีเจอร์เหล่านี้ต่อยอดจาก .NET 10 ที่ได้เปิดตัว extension methods และ properties มาแล้ว ทำให้ชุดเครื่องมือของ C# ครบถ้วนยิ่งขึ้นสำหรับการขยายพฤติกรรมของคลาสโดยไม่ต้องแก้ไขโค้ดต้นฉบับ
.NET MAUI Updates
ในมุมของ .NET MAUI Preview 6 นำเสนอการปรับโครงสร้างของ CollectionView และ Shell ให้ทำงานข้ามแพลตฟอร์มได้ราบรื่นยิ่งขึ้น อีกทั้งได้ ลบแพคเกจ Xamarin.Forms Compatibility** ที่เคยเป็นส่วนสำรองไว้เพื่อความเข้ากันได้กับเวอร์ชันก่อนหน้าแล้ว
Apple workloads ถูกอัปเดตให้ใช้ Xcode 26.6 เวอร์ชันเสถียร นอกจากนี้ HybridWebView JavaScript interop ได้เปลี่ยนจากการใช้ reflection ไปเป็น source generator ทำให้ไม่มีคำเตือนเกี่ยวกับการ trim หรือ AOT (Ahead‑Of‑Time) อีกต่อไปและทำงานได้อย่างสมบูรณ์ในแอปที่ถูกตัดขนาดหรือคอมไพล์แบบ Native AOT
สุดท้าย โปรเจกต์ที่ใช้ Microsoft.TypeScript.MSBuild ใน Razor Class Libraries จะสามารถรวมเอาต์พุตการคอมไพล์ของ TypeScript เข้ากับ ASP.NET Core Static Web Assets ได้อย่างถูกต้อง ซึ่งช่วยลดความซับซ้อนในการจัดการไฟล์สคริปต์บนเว็บแอป
Tooling & Ecosystem Highlights
หลายส่วนของแพลตฟอร์มได้รับการเร่งความเร็วและเพิ่มประสิทธิภาพ ตัวอย่างเช่น **Math.BigMul(long, long, out long) บนสถาปัตยกรรม x64 ตอนนี้ทำงานเร็วขึ้นโดย JIT สร้างคำสั่ง `MUL r/m64` เพียงหนึ่งครั้งแทนการเรียกใช้ฟังก์ชันช่วยเหลือ (helper) ก่อนหน้า การลด overhead นี้ทำให้โค้ดที่ต้องคูณตัวเลขขนาดใหญ่มีประสิทธิภาพสูงขึ้นอย่างเห็นได้ชัด
ในด้านเว็บ ASP.NET Core ฟีเจอร์ Minimal API validation รองรับการตรวจสอบแบบ asynchronous ตั้งแต่ต้นจนจบ ทำให้ผู้พัฒนาสามารถเขียนโค้ดที่เป็น non‑blocking ได้โดยตรง สำหรับภาษา **F# คอมไพล์เลอร์ได้ปรับปรุงการสร้าง sequence points เพื่อช่วยให้การดีบักในสถานการณ์เช่น การเรียกฟังก์ชันด้วยอาร์กิวเมนต์ที่ต้องการ stack‑empty debug points, expression comprehension, literal bindings, และเงื่อนไข `if` หรือ `match` มีความแม่นยำและสะดวกขึ้น
ทั้งหมดนี้สื่อให้เห็นว่า Microsoft กำลังมุ่งเน้นให้ .NET 11 เป็นแพลตฟอร์มที่ “เร็วกว่าเดิม, เบากว่าเดิม, และง่ายต่อการพัฒนา” ทั้งในระดับโค้ดฐานและเครื่องมือสนับสนุน
Analysis
จากมุมมองของนักวิเคราะห์อุตสาหกรรม การเร่งความเร็วของ runtime‑async ถือเป็นจุดเปลี่ยนสำคัญ เนื่องจากหลายแอปพลิเคชันบนคลาวด์พึ่งพา async/await เป็นหลักเพื่อเพิ่มประสิทธิภาพการทำงานแบบขนาน หากลดค่าใช้จ่ายของ ExecutionContext และหลีกเลี่ยง thunk overhead จะช่วยให้ระบบสามารถรับโหลดได้สูงขึ้นโดยไม่ต้องเพิ่มทรัพยากรเซิร์ฟเวอร์
การเปิดตัว C# union types ผ่าน System.Text.Json ตอบสนองต่อความต้องการของนักพัฒนาที่ต้องทำงานกับข้อมูลที่มีโครงสร้างหลากหลาย เช่น API ที่ส่งผลลัพธ์แบบ polymorphic การรองรับนี้อาจกระตุ้นให้ผู้ใช้ .NET เลือกใช้ JSON serializer ของ Microsoft มากขึ้น แทนที่จะย้ายไปใช้ไลบรารีของบุคคลที่สาม
ส่วน .NET MAUI** ที่กำจัด Xamarin.Forms Compatibility Package แสดงถึงการแยกตัวอย่างชัดเจนจากเทคโนโลยีเก่า ทำให้ทีมพัฒนาแอปข้ามแพลตฟอร์มสามารถโฟกัสไปที่ฟีเจอร์ใหม่ได้โดยไม่มี “ภาระทางด้านความเข้ากันได้” ที่อาจทำให้ประสิทธิภาพลดลง
ในระยะกลางถึงยาว Microsoft คาดว่าจะส่งเสริมการนำ Native AOT ไปใช้กับแอปพลิเคชันที่ต้องการ startup time เร็วและขนาดไบนารีเล็กลง ซึ่งเชื่อมโยงโดยตรงกับการปรับปรุง HybridWebView ที่หลีกเลี่ยง warning จาก trim/AOT ทำให้สภาพแวดล้อมของ .NET 11 เหมาะสมสำหรับอุปกรณ์ edge และ IoT มากยิ่งขึ้น
โดยรวมแล้ว การเปิดตัว Preview 6 นี้เป็นสัญญาณที่ชัดเจนว่า Microsoft กำลังเร่งรัดการพัฒนาโครงสร้างพื้นฐานเพื่อรองรับ workload รุ่นถัดไป ทั้งในคลาวด์, เว็บ, โมบาย และอุปกรณ์ฝังตัว
Summary
Microsoft ปล่อย .NET 11 Preview 6** พร้อมการปรับปรุงด้าน runtime‑async, ไลบรารี System.Text.Json, ภาษ C# และ .NET MAUI ที่มุ่งเพิ่มประสิทธิภาพและความง่ายในการพัฒนา เวอร์ชันเต็มคาดว่าจะออกในเดือนพฤศจิกายน 2024 นี้.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- Microsoft releases .NET 11 Preview 6
- ผู้เขียน
- Unknown
- แหล่ง
- InfoWorld
- วันที่เผยแพร่
- 16 กรกฎาคม 2569 เวลา 04:32



