พบกันทุกเดือนพฤศจิกายน ไมโครซอฟท์ออก .NET 8 รุ่นเสถียร หลังออกรุ่นพรีวิวมาตั้งแต่เดือนกุมภาพันธ์ 2023 โดย .NET 8 เป็นรุ่นซัพพอร์ตระยะยาว LTS ตามนโยบายไมโครซอฟท์ที่นับรุ่นเลขคู่เป็น LTS
หลังจากไมโครซอฟท์หลอมรวม .NET เสร็จสมบูรณ์ใน .NET 7 (ชิ้นส่วนสุดท้ายคือ .NET MAUI ที่เสร็จไม่ทัน .NET 6) งานในยุคถัดมาคือการเพิ่มฟีเจอร์ใหม่ๆ และรีดประสิทธิภาพของแพลตฟอร์ม
จุดเด่นหลักของ .NET 8 คือประสิทธิภาพที่ดีกว่าเดิมในหลายด้าน ชิ้นส่วนสำคัญคือ Dynamic Profile-Guided Optimization (PGO) ตัวเจนโค้ดอันใหม่ที่รีดประสิทธิภาพได้เพิ่มขึ้นสูงสุด 20% (บนโค้ดเดิม ไม่ต้องแก้ไขอะไร) นอกจากนี้ยังมีการรองรับชุดคำสั่ง AVX-512 ของซีพียู เพื่อให้ประมวลผลข้อมูลเวกเตอร์ 512 บิตได้เร็วขึ้น, ปรับแต่งให้ parse ข้อมูล UTF-8 โดยตรง ไม่ต้องทำ transcode ก่อน ลด overhead ได้
Native AOT การคอมไพล์เป็นเนทีฟโค้ดแบบ ahead-of-time (AOT) เพื่อให้แอพรันได้เร็วขึ้นในตอนแรก ใช้แรมน้อยลง เพราะไม่ต้องรอคอมไพล์แบบ just-in-time (JIT) แบบดั้งเดิม อีกทั้งนำแอพไปรันในสภาพแวดล้อมที่ไม่สามารถรันแบบ JIT ได้ด้วย
.NET 8 ยังปรับปรุงฟีเจอร์ด้านคอนเทนเนอร์อีกหลายจุด ทั้งเรื่องความปลอดภัย (hardened), ปรับขนาดอิมเมจให้เล็กลง และรองรับการเผยแพร่อิมเมจผ่าน .NET SDK โดยไม่ต้องใช้ Dockerfile เป็นต้น
ฟีเจอร์ด้าน AI ปรับแต่งไลบรารี System.Numerics ทำให้งานด้าน Generative AI ได้ดีขึ้น เช่น รองรับตัวแปร Tensor Primitives โดยตรง, รองรับ Semantic Kernel SDK ให้การฝังชิ้นส่วน AI ลงในแอพทำได้สะดวก
ไมโครซอฟท์บอกว่ายังร่วมมือกับทีมด้าน AI ทั้งภายในและภายนอก เช่น Azure OpenAI, Azure Cognitive Search, Milvus, Qdrant, Microsoft Teams เพื่อพัฒนาให้ .NET 8 รองรับงานเหล่านี้ได้ดีขึ้น
ของใหม่อีกอย่างของ .NET 8 คือ .NET Aspire เป็นวิธีการสร้างแอพ cloud native ด้วย .NET ให้ทนทาน มอนิเตอร์ได้สะดวก ปรับแต่งได้ง่าย ไมโครซอฟท์บอกว่า .NET Aspire เป็นทางเลือกที่แนะนำแต่ไม่บังคับ (opinionated stack) ตอนนี้ออก Preview 1 ให้ทดลองใช้งานกันแล้ว
ฟีเจอร์ใหม่อื่นๆ ได้แก่ รองรับ C# เวอร์ชัน 12, ส่วนติดต่อผู้ใช้ MAUI รองรับการคอมไพล์แบบ Native AOT บน iOS, ปรับปรุงประสิทธิภาพของโค้ด WebAssembly บนสแต็คเขียนเว็บ Blazor เป็นต้น
ที่มา - Microsoft
Comments
มาแล้วก็ลองจัดสิครับ
เป็น LTS ที่สั้น
เพิ่งโดนให้มาทำโปรเจคที่ใช้ .NET เป็น backend เลยจำเป็นต้องศึกษา C# อีกรอบ แฮ่ม แต่ก็ดีแหละ ที่กลับมาเจอกันอีกครั้งในยุคที่ .NET เป็นแบบนี้
..: เรื่อยไป
อยากสอบถามว่า ระหว่าง C# (.NET) กับ PHP (Laravel) ในการพัฒนาระบบขนาดใหญ่ ประกอบด้วย Module มากกว่า 20 ที่แบ่งแยกตามการทำงาน
เช่นเอามาทำ ERP ถ้าให้เลือกจะเลือกตัวไหน และขอเหตุผลสนับสนุนทีครับ
ขอบคุณครับ
ผมที่ถนัด PHP จะเลือก Laravel ครับ แต่ถ้าคุณถนัดทั้งสองอย่าง (หรือไม่ถนัดทั้งสองอย่าง) แนะนำให้เลือก C# เพราะฝั่งนั้นไม่ค่อยมีอะไรเปลี่ยนเยอะนัก แต่ PHP หรือแม้แต่ตัว Laravel เองที่เมื่อเปลี่ยนเวอร์ชันทีก็ต้องไล่แก้โค้ดกันวุ่นวายครับ