เปิดตัว .NET 8
(devblogs.microsoft.com)- .NET 8 มาพร้อมการปรับปรุงแพลตฟอร์มและเครื่องมือที่ช่วยเพิ่มประสิทธิภาพ ความเสถียร และความปลอดภัย รวมถึงยกระดับผลิตภาพของนักพัฒนาและความเร็วในการสร้างนวัตกรรม
- นิยามใหม่ของการสร้างแอปพลิเคชัน cloud-native และบริการที่รองรับทราฟฟิกขนาดใหญ่ พร้อมทำให้การพัฒนาแอปง่ายขึ้นไม่ว่าจะนำไปติดตั้งบน Linux หรือ Windows หรือใช้งานในคอนเทนเนอร์ก็ตาม
- .NET 8 มีชุดไลบรารีที่ผ่านการพิสูจน์แล้วจากบริการขนาดใหญ่ของ Microsoft ซึ่งช่วยรับมือกับความท้าทายพื้นฐานอย่าง observability, resilience, scalability และความง่ายในการจัดการ
ประสิทธิภาพที่โดดเด่นของ .NET 8
- .NET 8 มีการปรับปรุงประสิทธิภาพหลายพันรายการทั่วทั้งสแตก และด้วย Dynamic PGO ซึ่งเป็น code generator แบบใหม่ที่เปิดใช้งานเป็นค่าเริ่มต้น จึงช่วยเพิ่มประสิทธิภาพของแอปได้สูงสุดถึง 20%
- รองรับชุดคำสั่ง AVX-512 ทำให้สามารถประมวลผลแบบขนานกับข้อมูลเวกเตอร์ 512 บิตได้ จึงจัดการข้อมูลได้มากขึ้นและเร็วขึ้น
- primitive types ได้รองรับอินเทอร์เฟซสำหรับการจัดรูปแบบและการแยกวิเคราะห์แบบใหม่ ทำให้สามารถ format และ parse เป็น UTF-8 ได้โดยตรงโดยไม่มี conversion overhead
.NET Aspire
- .NET Aspire คือสแตกสำหรับสร้างแอปพลิเคชัน cloud-native ที่มี resilience, observability และ configurability ด้วย .NET โดยมี telemetry, resilience, configuration และ health checks มาให้ในตัว
- ช่วยให้การค้นหา จัดหา และตั้งค่าดีเพนเดนซีที่จำเป็นสำหรับแอปพลิเคชัน cloud-native เป็นเรื่องง่าย และวันนี้ได้เปิดให้ใช้งานพรีวิวแรกของ .NET Aspire แล้ว
การปรับปรุงคอนเทนเนอร์ใน .NET 8
- สามารถแพ็กเกจคอนเทนเนอร์ด้วย .NET ได้ง่ายและปลอดภัยยิ่งขึ้น โดยอิมเมจ .NET ทุกตัวมีผู้ใช้แบบ non-root รวมมาให้ ทำให้สร้างคอนเทนเนอร์ที่ปลอดภัยยิ่งขึ้นได้ด้วยการตั้งค่าเพียงบรรทัดเดียว
- เครื่องมือ .NET SDK สามารถเผยแพร่อิมเมจคอนเทนเนอร์ได้โดยไม่ต้องมี Dockerfile และตั้งค่าเป็น non-root โดยค่าเริ่มต้น
- ด้วย .NET base image ที่มีขนาดเล็กลง จึงสามารถปรับใช้แอปแบบ containerized ได้เร็วขึ้น และยังเลือกเสริมความปลอดภัยได้ผ่านอิมเมจแบบ Chiseled Ubuntu รุ่นใหม่
Native AoT
- สามารถคอมไพล์แอป .NET เป็น native code เพื่อลดการใช้หน่วยความจำและเริ่มทำงานได้ทันที
- ไม่จำเป็นต้องให้ JIT compiler คอมไพล์โค้ดระหว่างรันไทม์ และไม่ต้องจัดส่งทั้ง JIT compiler และ IL code ไปพร้อมกัน
- แอปแบบ AOT จะจัดส่งเฉพาะโค้ดที่จำเป็นต่อแอป จึงสามารถทำงานได้แม้ในสภาพแวดล้อมที่มีข้อจำกัด
ปัญญาประดิษฐ์
- .NET 8 มอบความสามารถด้าน AI ระดับ first-class ให้กับ .NET SDK เพื่อให้ใช้งานฟังก์ชัน AI ได้อย่างง่ายดาย และรองรับการผสานรวมกับเครื่องมือต่าง ๆ ได้อย่างราบรื่น
- มีการปรับปรุงหลายด้านในไลบรารี
System.Numericsเพื่อเพิ่มความเข้ากันได้กับเวิร์กโหลด Generative AI และจากการเติบโตของแอปที่เปิดใช้ AI จึงมีเครื่องมือและ SDK ใหม่ ๆ เกิดขึ้นตามมา - ทำงานร่วมกับพาร์ตเนอร์ทั้งภายในและภายนอกหลายราย เพื่อช่วยให้นักพัฒนา .NET เข้าถึงโมเดล AI บริการ และแพลตฟอร์มที่หลากหลายได้ง่ายขึ้น
Blazor
- Blazor ใน .NET 8 สามารถใช้ทั้งฝั่งเซิร์ฟเวอร์และไคลเอนต์ร่วมกันเพื่อตอบโจทย์ทุกความต้องการด้านเว็บ UI
- ด้วยการปรับปรุงใหม่หลายด้านที่ช่วยเพิ่มประสิทธิภาพเวลาโหลดหน้า ความสามารถในการขยายระบบ และประสบการณ์ผู้ใช้ นักพัฒนาจึงสามารถใช้ Blazor Server และ Blazor WebAssembly ภายในแอปเดียวกันได้
.NET MAUI
- .NET MAUI มอบระบบโปรเจกต์เดียวและโค้ดเบสเดียวสำหรับสร้างแอปพลิเคชันบน WinUI, Mac Catalyst, iOS และ Android
- มีส่วนขยายใหม่สำหรับ Visual Studio Code ที่มอบเครื่องมือสำหรับพัฒนาแอป .NET บนมือถือและเดสก์ท็อป พร้อมรองรับ Xcode 15 และ Android API 34 เพื่อให้พัฒนาเจาะจง iOS และ Android เวอร์ชันล่าสุดได้
ฟีเจอร์ของ C# 12
- C# 12 ช่วยให้ประสบการณ์การเขียนโค้ดมีประสิทธิผลและสนุกยิ่งขึ้น โดยสามารถสร้าง primary constructors สำหรับคลาสและสตรักต์ได้ด้วยไวยากรณ์ที่เรียบง่ายและสวยงาม
- สามารถสร้างอาร์เรย์ สแปน และคอลเลกชันประเภทอื่น ๆ ได้อย่างง่ายดายด้วยไวยากรณ์ที่กระชับและสื่อความหมาย
ความเห็นของ GN⁺
สิ่งสำคัญที่สุดในบทความนี้คือฟีเจอร์ใหม่และการปรับปรุงหลากหลายด้านที่ .NET 8 มอบให้แก่นักพัฒนา ไม่ว่าจะเป็นประสิทธิภาพที่ดีขึ้น การพัฒนาแอปพลิเคชัน cloud-native ที่ง่ายขึ้น การเสริมความแข็งแกร่งด้าน AI ตลอดจนความก้าวหน้าของ Blazor และ .NET MAUI ซึ่งทั้งหมดนี้จะช่วยให้นักพัฒนาสร้างซอฟต์แวร์ที่มีประสิทธิภาพและนวัตกรรมมากขึ้น ฟีเจอร์เหล่านี้เป็นการอัปเดตที่น่าสนใจและน่าดึงดูดสำหรับนักพัฒนาที่ทำงานอยู่แนวหน้าของเทคโนโลยี และเปิดโอกาสใหม่ ๆ ให้พวกเขานำไปใช้กับโปรเจกต์ทั้งปัจจุบันและอนาคต
5 ความคิดเห็น
"นักพัฒนา .NET แบบฟูลสแต็กคนหนึ่งแสดงความผิดหวังว่าในตลาดงานมีตำแหน่งที่เกี่ยวกับ .NET ค่อนข้างน้อย และถึงจะมีก็มักต้องการคนระดับ "ร็อกสตาร์""
ดูเหมือนต่างประเทศก็ไม่ได้ต่างกันเท่าไรนะครับ.. ผมค่อนข้างชอบ .NET กับ C# แต่ต่อให้อยากสร้างสายอาชีพด้านนี้ ตำแหน่งก็มีไม่ค่อยมากหรือไม่ก็คาดหวังสูงเกินไปครับ เศร้าจัง
โดยส่วนตัวคิดว่า .NET สามารถตอบโจทย์ได้ทั้งด้านประสิทธิภาพการทำงานและสมรรถนะ เลยอยากใช้งานมัน... แต่ในตลาดภายในประเทศก็ยังน่าเสียดายนิดหน่อยเพราะปัญหาเรื่องบุคลากร ฮือฮือ
โอ้... ดูแล้ว Native AoT รองรับแพลตฟอร์มเพิ่มขึ้นเยอะมากเมื่อเทียบกับ .NET 7
ถึงขั้นคอมไพล์เป็นเนทีฟโค้ดได้เลย แบบนี้มันไม่ใช่ .NET ที่ผมเคยรู้จักอีกต่อไปแล้วสินะ +_+
ว่าแต่เวอร์ชัน 8 แล้วเหรอ...? เหมือนเพิ่งเปลี่ยนชื่อมาเป็น .NET ได้ไม่นานเอง...
เวอร์ชันของ .NET ออกรุ่นใหม่ค่อนข้างเร็วเลยนะครับ/ค่ะ ข้อเสียคือระยะเวลาซัพพอร์ตเลยค่อนข้างสั้นตามไปด้วย T_T LTS ก็มีอายุประมาณแค่ 3 ปีนิดๆ เอง
ความเห็นจาก Hacker News
ประสบการณ์ที่น่าประทับใจกับ .NET
พัฒนาการของ .NET และการเปลี่ยนแปลงภายในองค์กร
ฟีเจอร์ DynamicPGO ใน .NET 8
คำถามเกี่ยวกับความสัมพันธ์ระหว่าง .NET กับ Mono
ปัญหาเรื่อง UI ข้ามแพลตฟอร์มของ .NET
ความผิดหวังต่อ市場การจ้างงานสำหรับนักพัฒนา .NET
พัฒนาการและความคาดหวังต่อ Blazor
ขอความเห็นเกี่ยวกับข้อดีของ ecosystem .NET
ลิงก์วิดีโอ .NET Conf - Day 1
ความเห็นต่อฟีเจอร์ใหม่ของ C# 12 และการประกาศ "Aspire"