Microsoft ปล่อย .NET 11 Preview 6 พร้อมการปรับปรุงประสิทธิภาพ async และไลบรารี System.Text.Json

ที่มาภาพ: InfoWorld

Software-อ่าน 9 นาที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

Related

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

EVE Vanguard เปิดการทดสอบอัลฟ่า Operation Avalon ผสาน FPS กับจักรวาล EVE OnlineSoftware
16 กรกฎาคม 2569 เวลา 08:30

EVE Vanguard เปิดการทดสอบอัลฟ่า Operation Avalon ผสาน FPS กับจักรวาล EVE Online

Fenris Creations เปิดการทดสอบอัลฟ่า Operation Avalon ของ EVE Vanguard ผสาน extraction shooter กับจักรวาล EVE Online ระบบเศรษฐกิจหลายฝ่าย ผู้เล่นชื่นชมดีไซน์…

PC Gamer6 นาที
แก้ปัญหา Bluetooth ของ Windows 11 ด้วยการปรับค่าสำหรับอะแดปเตอร์เพียงหนึ่งค่าSoftware
16 กรกฎาคม 2569 เวลา 07:00

แก้ปัญหา Bluetooth ของ Windows 11 ด้วยการปรับค่าสำหรับอะแดปเตอร์เพียงหนึ่งค่า

หลายผู้ใช้ Windows 11 ประสบปัญหา Bluetooth ตัดการเชื่อมต่อเมื่อลงสู่โหมดพัก การปิดการทำงานของโหมดประหยัดพลังงานสำหรับอะแดปเตอร์ Bluetooth ผ่าน Device Manager…

XDA Developers5 นาที
Halo: Campaign Evolved ประกาศเข้าสู่ขั้นตอน Gold ก่อนเปิดตัว 2 สัปดาห์Software
16 กรกฎาคม 2569 เวลา 05:30

Halo: Campaign Evolved ประกาศเข้าสู่ขั้นตอน Gold ก่อนเปิดตัว 2 สัปดาห์

Halo Studios ยืนยันว่า Halo: Campaign Evolved เข้าขั้นตอน Gold แล้ว หมายถึงไฟล์เกมพร้อมผลิต การเปิดตัวกำหนดไว้วันที่ 28 กรกฎาคม 2024.

TechPowerUp7 นาที
TypeAnywhere เปิดตัวแอปพิมพ์แบบโปร่งใส เพิ่มความเร็วด้วย AI และการซิงค์หลายอุปกรณ์.Software
15 กรกฎาคม 2569 เวลา 10:00

TypeAnywhere เปิดตัวแอปพิมพ์แบบโปร่งใส เพิ่มความเร็วด้วย AI และการซิงค์หลายอุปกรณ์.

TypeAnywhere เปิดให้ดาวน์โหลดเป็นแอปพิมพ์แบบโปร่งใสวางบนหน้าจอใดก็ได้ รองรับซิงค์ข้อมูลระหว่างคอมพิวเตอร์และโน๊ตบุ๊ก พร้อม AI สร้างแบบทดสอบส่วนตัว.…

r/MechanicalKeyboards6 นาที
คัดลอกลิงก์แล้ว!