Năm ngoái, Microsoft đã thông báo rằng với việc phát hành .NET 5, một số sản phẩm .NET sẽ được hợp nhất thành một bản phát hành .NET duy nhất. Điều này bao gồm .NET Core, .NET Framework và .NET Standard.
.NET 5 dự kiến sẽ phát hành vào tháng 11 và khi ngày đó gần đến, công ty hiện đã tiết lộ thêm thông tin về ý nghĩa của những thay đổi đối với .NET Standard.
Kể từ .NET 5, công ty sẽ không phát hành phiên bản .NET Standard mới, nhưng các phiên bản trong tương lai sẽ tiếp tục hỗ trợ .NET Standard 2.1 trở về trước. Microsoft khuyến khích các developer nghĩ về .NET 5 và các phiên bản tương lai làm nền tảng cho việc chia sẻ code từ bây giờ.
“Kỳ vọng của tôi là các thư viện được sử dụng rộng rãi sẽ kết thúc cho cả .NET Standard 2.0 và .NET 5: hỗ trợ .NET Standard 2.0 mang lại cho bạn khả năng tiếp cận nhiều nhất trong khi hỗ trợ .NET 5 đảm bảo bạn có thể tận dụng các tính năng nền tảng mới nhất cho khách hàng đã có trên .NET 5, ”Immo Landwerth, giám đốc chương trình .NET tại Microsoft, đã viết trong một bài đăng.
Theo Landwerth, mặc dù .NET Standard giúp việc tạo thư viện hoạt động trên nền tảng .NET trở nên dễ dàng hơn, nhưng nó có ba vấn đề chính.
Đầu tiên, .NET Standard được phiên bản chậm, dẫn đến việc các developer không thể dễ dàng sử dụng các tính năng mới nhất.
Thứ hai, nó yêu cầu một vòng giải code để ánh xạ các phiên bản với các triển khai .NET. Điều này là do bộ API và triển khai được vận chuyển riêng biệt. “Chúng tôi không thể giải quyết vấn đề này nếu không thực sự hợp nhất một số hình chữ nhật trong sơ đồ lớp của chúng tôi, đó là những gì .NET 5 làm: nó cung cấp triển khai thống nhất trong đó tất cả các bên xây dựng trên cùng một nền tảng và do đó có cùng hình dạng API và số phiên bản, ”Landwerth viết.
Thứ ba, .NET Standard thể hiện các tính năng dành riêng cho nền tảng. Điều này có nghĩa là các developer không thể xác thực xem code của họ có thực sự có cần những tính năng mới hay không trên các nền tảng khác nhau. “Nhiều người trong số các bạn đã phàn nàn rằng những loại API này giống như“ mìn ”- code biên dịch mà không có lỗi và do đó dường như có thể nằm trong đến bất kỳ nền tảng nào, nhưng khi chạy trên nền tảng không có triển khai cho API đã cho, bạn gặp lỗi trong thời gian chạy, ”Landwerth viết. “Bắt đầu với .NET 5, chúng tôi sẽ vận chuyển các bộ phân tích và sửa code với SDK được bật theo mặc định. Điều này bao gồm trình phân tích khả năng tương thích nền tảng phát hiện việc sử dụng không chủ ý các API không được hỗ trợ trên nền tảng bạn định chạy. ”
Trong tương lai, .NET sẽ đóng vai trò như một cơ sở code duy nhất để hỗ trợ các ứng dụng dành cho máy tính để bàn, ứng dụng dành cho thiết bị di động, dịch vụ đám mây, trang web và môi trường.
.NET 5 dự kiến sẽ xuất xưởng vào tháng 11 năm 2020 và .NET 6 được lên kế hoạch vào tháng 11 năm 2021 và sẽ là phiên bản LTS.
“Vì không có sự khác biệt giữa tiêu chuẩn và việc triển khai nó, bạn sẽ có thể tận dụng các tính năng mới nhanh hơn nhiều so với .NET Standard. Và do quy ước đặt tên, bạn sẽ có thể dễ dàng biết ai có thể sử dụng một thư viện nhất định – mà không cần phải tham khảo bảng Phiên bản .NET Standard. Mặc dù .NET Standard 2.1 sẽ là phiên bản cuối cùng của .NET Standard, .NET 5 và tất cả các phiên bản trong tương lai sẽ tiếp tục hỗ trợ .NET Standard 2.1 trở về trước. Bạn nên nghĩ về net5.0 (và các phiên bản trong tương lai) là nền tảng để chia sẻ code trong tương lai, ”Landwerth nói thêm.
Các nguồn kiến thức từ cafedev:
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!