Microsoft ra mắt .NET 6.0 ngày 9/11/2021, chúng ta cùng điểm qua xem có gì mới?
Đúng theo như lộ trình vào tháng 11/2021, MS đã ra măt bản .NET 6 đánh dấu một bước phát triển rất ngoạn mục cho nền tảng này. Cụ thể là lần đầu tiên có một bản cập nhật lớn LTS (Long Term Support) tức là hỗ trợ lâu dài (trong ít nhất 3 năm) hợp nhất giữa .NET Core và .NET Framework. Trước đây có .NET 5 đã là phiên bản tiền đề để hợp nhất 2 nền tảng .NET của Microsoft nhưng chưa phải là LTS mà đến 6.0 mới là LTS. Điều này có nghĩa là các ứng dụng doanh nghiệp có thể tự tin nâng cấp lên 6.0 từ .NET Core 3.1, .NET 5 hay .NET Framework 4.8 mà không lo về độ ổn định cũng như thời gian cam kết của Microsoft.
Bản cập nhật này thực sự có những tính năng mà cộng đồng mong chờ, nổi bật nhất là cơ chế Hot Reload cho ứng dụng .NET. Ngoài ra chúng ta cũng có phiên bản mới nhất của C# là C# 10 và F# 6. Song song với đó thì Microsoft cũng luôn cải tiến hiệu năng của nền tảng .NET qua từng lần ra mắt.
Chúng ta có thể điểm qua các thay đổi và các tính năng mới như:
- C# 10 và F# 6
- HTTP/3
- JSON Processing
- WebAssembly
- OpenTelemetry
- Cải tiến performance
- Hỗ trợ Arm64
Tương tự như các bản release trước, nền tảng .NET 6 cũng hỗ trợ cr Linux, macOS và Windows. Ngoài ra còn có Visual Studio 2022 là một môi trường phát triển tích hợp (IDE) cho nền tảng .NET 6. Những ai dùng Visual Studio Code thì vẫn yên tâm là luôn xài được với mọi phiên bản. Riêng có Visual Studio thì phải nâng cấp lên Visual Studio bản 2022 để có thể phát triển được .NET 6. Riêng với Visual Studio for Mac thì vẫn có thể dùng Visual Studio 2019.
Các tính năng mới trong .NET 6 như sau:
- Hỗ trợ Production stress-tested dành cho ứng dụng Microsoft services, ứng dụng cloud chạy bởi các công ty khác, và đã mở mã nguồn.
- Hỗ trợ trong 3 năm hay gọi là LTS.
- Nền tảng thống nhất hỗ trợ nhiều loại trình duyệt, cloud, desktop, IoT, và mobile apps, tất cả sử dụng chung code base có thể share code dễ dàng.
- Hiệu năng được cải thiện rất nhiều và cho tác tác vụ I/O cụ thể, bằng cách giảm thời gian thực thi, độ trễ và bộ nhớ sử dụng.
- C# 10 cải tiến ngôn ngữ bằng các tính năng như record structs, implicit using, và new lambda capabilities, trong khi trình biên dịch tăng khả năng gen code.
- Hot Reload cho phép bạn tránh được việc build và khởi động lại ứng dụng khi có thay đổi mới trong lúc ứng dụng vẫn đang chạy, hỗ trợ trên Visual Studio 2022 và từ .NET CLI cho C# lẫn Visual Basic.
- Cloud diagnostics được cải tiến với OpenTelemetry và dotnet monitor, hỗ trợ cho tìm lỗi trên môi trường Production trên Azure App Service.
- JSON APIs được tăng khả năng và có hiệu năng cao hơn với source generator cho bộ xử lý JSON.
- Minimal APIs được giới thiệu trong .NET Core giúp đơn giản và dễ dàng bắt đầu cũng như cải tiến hiệu năng của HTTP services.
- Blazor có thể được render từ JavaScript và tích hợp với ứng dụng Javascript base.
- WebAssembly AOT biên dịch cho ứng dụng Blazor WebAssembly (Wasm), as well as support for runtime relinking and native dependencies.
- Single-page apps được giới thiệu với ASP.NET Core giờ đây sử dụng một pattern linh hoạt giúp bạn có thể sử dụng Angular, React hoặc các framework frontend Javascript khác.
- HTTP/3 được thêm vào ASP.NET Core, HttpClient, và gRPC có thể tương tác với HTTP/3 giữa client và server.
- Cơ chế đọc ghi file (File IO) đã hỗ trợ liên kết tượng trưng và cải tiến mạnh mẽ về hiệu năng với việc viết lại từ đầu FileStream class.
- Bảo mật được cải tiến bằng việc hỗ trợ OpenSSL 3, phương thức mã hoá ChaCha20Poly1305, và các biện pháp ngăn chặn chiều sâu, đặc biệt là W^X và CET.
- Single-file apps (extraction-free) được ra mắt trên Linux, macOS và Windows (trước đây chỉ có trên Linux).
- IL trimming hiệu quả hơn với cảnh báo mới, bộ phân tích để đảm bảo kết quả đúng cuối cùng.
- Source generators và analyzers được thêm vào giúp bạn tái hiện bug tốt hơn, an toàn hơn và tối ưu hiệu năng hơn..
- Source build cho phép tổ chức như Red Had xây dựng .NET từ mã nguồn mở và tự xây dựng cho người dùng của mình..
Hỗ trợ
Bản .NET 6 là một bản hỗ trợ lâu dài (LTS) được phát hành và được hỗ trợ trong 3 năm. Nó hỗ trợ nhiều hệ điều hành bao gồm cả macOS Apple Silicon và Windows Arm64.
Red Hand hỗ trợ .NET trên Red Hat Enterprise Linux và đã làm việc với team.
.NET 6 được hỗ trợ với Visual Studio 2022 và Visual Studio 2022 for Mac. Nó không hỗ trợ Visual Studio 2019, Visual Studio for Mac 8 hoặc MSBuild 16. Nếu bạn muốn dùng .NET 6 thì phải upgrade lên Visual Studio 2022. Nếu dùng Visual Studio Code thì có thể phát triển sử dụng C# Extension
Các bạn có thể bắt đầu migrate ứng dụng của mình lên .NET 6 từ .NET 5. Nó cũng tương thích tốt khi upgrade từ .NET 3.1 và .NET 5.
Nền tảng thống nhất và mở rộng
Các bạn có thể dùng 1 nền tảng mà có thể phát triển nhiều loại ứng dụng từ Desktop, Web, IoT, WebAssembly, Cloud...và có thể chia sẻ được code base dễ dàng. Một điều thú vị nữa là .NET Multi-platform App UI (.NET MAUI) tức là chính ta có thể viết code với 1 project nhưng có thể tạo ra một ứng dụng chạy trên cả Desktop lẫn Mobile. .NET MAUI được đính kèm trong .NET 6.
Tất nhiên bạn có thể phát triển cả Windows Desktop với Windows Forms và WPF cũng như trên cloud với ASP.NET Core.
Hiệu năng
Team cũng rất cố gắng trong việc cải tiến hiệu năng cho rất nhiều thành phần ví dụ như File IO, chuyển đổi giao diện, PGO và JSON. Các bạn có thể tham khảo tại đây Performance improvements in .NET 6. Các nội dung chủ đạo trong việc tăng hiệu năng như:
- Dynamic PGO: viết tắt của Dynamic Profile-guided Optimization (PGO) cho phép biên dịch nhanh, tăng hiệu năng khởi động và tăng khả năng phục vụ nhiều hơn số request (dự tính 26%) số request trên giây.
- Cải tiến xử lý JSON
- Cải tiến hiệu năng nhập xuất File, ví dụ với .NET 5 và .NET 6 ghi ghi 1 file 100MB cho ra 2 kết quả rất tốt.
C# 10
C# 10 có rất nhiều tính năng mới như:
- Global using directive: sử dụng global using sẽ không phải using mọi nơi như System namespace chẳng hạn.
- File scoped namespace: không cần phải lồng class trong namespace
- Record struct
Hot Reload
Tính năng hot reload là một tính năng được mong đợi nhất hỗ trợ cho nhà phát triển có thể tăng hiệu quả làm việc. Cho phép edit code ngay khi ứng dụng đang chạy, giảm thời gian chờ rebuild, khởi động lại và điều hướng đến đúng điểm bạn có thay đổi. Hot Reload có sẵn trong dotnet watch CLI và Visual Studio 2022. Bạn có thể sử dụng Hot Reload với các loại ứng dụng khác nhau từ ASP.NET Core, Blazor, .NET MAUI, Console, Windows Forms, WPF, WinUI 3, Azure Functions...
Bảo mật
Bảo mật được cải tiến đáng kể trong .NET 6 từ việc mô hình, mã hoá và ngăn chặn xâm nhập. Trên Linux chúng ta có OpenSSL, trên macOS và Windows chúng ta có chức năng tương tự từ hệ điều hành. Với mỗi phiên bản .NET chúng ta thường cần thêm OpenSSL và .NET 6 hỗ trợ OpenSSL 3.
Arm64
Trên .NET Core 3.0 đã hỗ trợ Arm 32 nhưng với .NET 6 đã hỗ trợ Arm 64 giúp .NET 6 tương thích nhiều loại thiết bị hơn.
Các bạn có thể tham khảo chi tiết hơn tại: https://devblogs.microsoft.com/dotnet/announcing-net-6/
Tác giả: Bạch Ngọc Toàn
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.
Tags:
Bài viết liên quan
Có gì mới trong .NET 10?
.NET 10 tập trung vào hiệu suất, tối ưu hóa JIT, cải thiện JSON, Blazor, MAUI, EF Core, và nâng cấp C# 14 với nhiều tính năng giúp code linh hoạt hơn.
Đọc thêm
Ra mắt khóa học AWS for Beginners
Khóa học này là nền tảng để các bạn tiếp cận và làm quen với một trong 3 cloud provider hàng đầu thế giới là AWS, Azure và Google Cloud.
Đọc thêm
Ra mắt khóa học Design Patterns in a nutshell
Tác giả khóa học là anh Thành Lê, một Software Architect đang sinh sống và làm việc tại Mỹ. Khóa học không chỉ giúp các bạn hiểu Design Patterns mà còn giúp nâng cao kỹ năng giải quyêt vấn đề.
Đọc thêm
Ra mắt khóa học: Xây dựng ứng dụng mạng xã hội với Flutter
Nhằm đáp ứng nhu cầu học lập trình ứng dụng Mobile cho tất cả mọi người, TEDU ra mắt khóa học Lập trình ứng dụng mạng xã hội cơ bản sử dụng .NET Core và Flutter của tác giả Nguyễn Hoài Nam
Đọc thêm
TEDU ra mắt khóa học Xây dựng hệ thống với kiến trúc Micro-services
Ra mắt khóa học xây dựng hệ thống với kiến trúc Micro-services sử dụng .NET 6, RabbitMQ, Docker dành cho mọi người, có chính sách ưu đãi mua sớm cho 100 người đầu tiên.
Đọc thêmCác bước nâng cấp ứng dụng từ .NET 5.0 lên .NET 6.0
Hướng dẫn cách nâng cấp ứng dụng .NET 5 lên .NET 6.0 một cách dễ dàng.
Đọc thêm
.NET Core 3.0 (Preview 2) có gì mới?
Gần đây Microsoft cho ra mắt .NET Core 3 Preview 2. Nó bao gồm các tính năng mới cho .NET Core 3.0 và C# 8, nó cũng bao gồm luôn các tính năng mới trong Preview 1 và Preview 2
Đọc thêm
Đầu xuân mở lộc TEDU lì xì 30% các khóa học
Năm Kỷ Hợi bắt đầu một niềm tin mới, TEDU xin gửi tới các bạn một quà tặng lì xì đầu năm trị giá 30% khi tham gia các khóa học tại TEDU.
Đọc thêm
Chào đón năm 2019, TEDU sales lớn nhất năm đến 60% và ra mắt khóa học mới
Nhân dịp mừng giáng sinh và đón chào năm mới 2019, TEDU xin gửi tới toàn thể các bạn đã đang và sẽ là thành viên của cộng đồng TEDU chương trình khuyến mãi lớn nhất trong năm lên đến 60% tất cả các khóa học.
Đọc thêm
Microsoft ra mắt phiên bản ASP.NET Core 2.2
Microsoft thông báo ra mắt ASP.NET Core 2.2 và Entity Framework Core 2.2 là một phần của nền tảng .NET Core 2.2 hôm nay 5/12/2018.
Đọc thêm