Tags:
Node Thumbnail

ก่อนหน้านี้โลกของ .NET เต็มไปด้วยความสับสน เพราะไมโครซอฟท์มี .NET ในมือถึง 3 เวอร์ชัน (.NET Framework, .NET Core, Xamarin - บทความอธิบายความแตกต่าง) ที่ไม่เหมือนกันซะทีเดียว ทำให้ไมโครซอฟท์ต้องออก .NET Standard เป็นสเปกกลางที่การันตีว่าฟีเจอร์และ API บางตัวใช้ร่วมกันได้เสมอ (ตอนเขียนโค้ดก็ใส่ target เป็น netstandard เพื่อการันตีว่าใช้กับรันไทม์ไหนก็ได้)

ปีที่แล้ว ไมโครซอฟท์ประกาศทำ .NET 5 ที่เป็นการหลอมรวม .NET ทั้ง 3 เวอร์ชันเข้าด้วยกัน (แผนการจะสมบูรณ์ใน .NET 6 ที่ออกปี 2021) ทำให้ความจำเป็นของ .NET Standard หายไป เพราะเหลือ .NET เพียงเวอร์ชันเดียว

วันนี้ไมโครซอฟท์ประกาศเลิกทำ .NET Standard แล้ว

แผนภาพยุค .NET Core 3

แผนภาพยุค .NET 5

เหตุผลของไมโครซอฟท์คือ .NET Standard ทำหน้าที่ของมันเสร็จแล้ว แพ็กเกจยอดนิยม 770 ตัวจาก 1,000 ตัวรองรับ .NET Standard เรียบร้อยแล้ว ในอีกด้าน การกำหนดมาตรฐานที่ตายตัวทำให้การเพิ่ม API ใหม่ๆ ทำได้ยากขึ้น เพราะการออก .NET Standard เวอร์ชันใหม่จำเป็นต้องรอทั้ง ecosystem พร้อมก่อน

นอกจากนี้ยังมีประเด็นว่า การกำหนด API กลางสำหรับแอพข้ามแพลตฟอร์ม กลายเป็นจุดอ่อนให้ไม่สามารถสร้าง API เฉพาะแพลตฟอร์มได้ และเมื่อ .NET กำเนิดมาจาก Windows ทำให้ API ค่อนข้างอิงไปที่ Windows เป็นหลัก (เช่น การมี registry ซึ่งระบบปฏิบัติการอื่นไม่มี)

No Description

เมื่อ .NET 5 เป็นการรวมแพลตฟอร์ม .NET เป็นหนึ่งเดียว ทำให้ความจำเป็นของการมี .NET Standard หมดไป ตัวของ .NET 5 อิงอยู่บน .NET Standard 2.1 ซึ่งเป็นเวอร์ชันสุดท้ายแล้ว ต่อจากนี้ไปเวลากำหนด target จึงเปลี่ยนมาเป็น net5.0 แทน netstandard

ไมโครซอฟท์ยังจะออก target แยกตามระบบปฏิบัติการด้วย ในกรณีที่แอพเขียนมาเฉพาะระบบปฏิบัติการนั้นๆ หรือต้องการเรียกใช้ฟีเจอร์บางอย่างของระบบปฏิบัติการ โดยจะเริ่มจาก net5.0-windows ใน .NET 5 ปีนี้ จากนั้นจะออก net6.0-android และ net6.0-ios ตามมาใน .NET 6 ปีหน้า

ตัวแพลตฟอร์ม .NET เองก็จะออกเวอร์ชันใหม่ให้เร็วขึ้น โดยมีแผนการชัดเจน คาดเดาการออกรุ่นได้ ตามแผนคือ .NET จะออกรุ่นใหม่ปีละครั้งในเดือนพฤศจิกายน และจะเป็นรุ่นซัพพอร์ตระยะยาว (LTS) ปีเว้นปี รุ่น LTS คือรุ่นที่เวอร์ชันเป็นเลขคู่ (ตัวถัดไปคือ .NET 6.0 LTS)

No Description

ที่มา - Microsoft

Get latest news from Blognone