You are on page 1of 9

1. .NET Framework là gì?

 .Net Framework là một framework được phát hành bởi Microsoft vào
năm 2001 để xây dựng ứng dụng trên nền tảng Window.
 Có thể xây dựng ứng dụng website, winform, webform, web service, wpf
bằng .Net Framework.
 Version hiện tại của .net framework là .NET Framework 4.8 và microsoft
hiện chưa có plan để ra phiên bản mới (4.9).
 .NET Framework là mã nguồn đóng (không được microsoft public
source code ra bên ngoài)

2. .NET Core là gì?


 .NET core là một framework được phát hành bởi Microsoft vào năm
2016 để xây dựng ứng dụng trên đa nền tảng (window, linux và macOS).
 Có thể xây dựng ứng dụng Desktop (WPF, Winform), website, mobile,
game, IOT và cả AI.
 Các phiên bản của .NET Core: (từ .net 5 (2020) microsoft đã bỏ chữ core
và gọi chung là .NET), khuyến khích dùng các phiên bản LTS (Long term
support) được MS hỗ trợ lâu dài.
 .NET core là mã nguồn mở (open source) và source code được public
trên github, các lập trình viên có thể vào để đóng góp phát triển giúp
mã nguồn tốt hơn.

3.Ưu điểm .NET core so với .Net Framework

 .NET Core hỗ trợ xây dựng ứng dụng đa nền tảng (window, linux,
MacOS), .NET Framework chỉ hỗ trợ trên window.
 .NET Core ra đời sau nên Microsoft ra đời các phiên bản mới liên tục,
cập nhật theo từng năm (tương lai), .NET Framework ra đời lâu và
Microsoft ngừng cập nhật phiên bản(lớn) mới.
 .NET Core có nhanh và nhẹ hơn .NET Framework
 .NET Core không cần tải toàn bộ framework, chỉ cần cài bộ SDK và khi
cần package nào thfi tải xuống nên nhẹ hơn. .NET Framework phải cài
toàn bộ framework đầy đủ thư viện lên window nên rất nặng.
 .NET Core là mã nguồn mở nên các nhà phát triển (developers) có thể
đóng góp để gúp mã nguồn tốt hơn.

NET 6
.NET 6 cung cấp các phần cuối cùng của kế hoạch hợp nhất .NET đã bắt đầu với .NET
5. .NET 6 hợp nhất SDK, thư viện cơ sở và thời gian chạy trên các ứng dụng di động,
máy tính để bàn, IoT và đám mây. Ngoài sự hợp nhất này, hệ sinh thái .NET 6 còn
cung cấp:
Phát triển đơn giản: Bắt đầu thật dễ dàng. Các tính năng ngôn ngữ mới trong C# 10
giúp giảm số lượng mã bạn cần viết. Và các khoản đầu tư vào ngăn xếp web cũng như
các API tối thiểu giúp bạn dễ dàng viết nhanh các dịch vụ vi mô nhỏ hơn, nhanh hơn.
Hiệu suất tốt hơn: .NET 6 là khung web full stack nhanh nhất, giúp giảm chi phí tính
toán nếu bạn đang chạy trên đám mây.
Năng suất tối đa: .NET 6 và Visual Studio 2022 cung cấp tính năng tải lại nóng, công
cụ git mới, chỉnh sửa mã thông minh, công cụ kiểm tra và chẩn đoán mạnh mẽ cũng
như khả năng cộng tác nhóm tốt hơn.
.NET 6 sẽ được hỗ trợ trong ba năm dưới dạng bản phát hành hỗ trợ dài hạn (LTS).
Tính năng xem trước bị tắt theo mặc định. Chúng cũng không được hỗ trợ để sử
dụng trong sản xuất và có thể bị xóa trong phiên bản sau. Thuộc tính Tính năng xem
trước yêu cầu mới được sử dụng để chú thích các API xem trước và trình phân tích
tương ứng sẽ thông báo cho bạn nếu bạn đang sử dụng các API xem trước này.
.NET 6 được hỗ trợ bởi Visual Studio 2022 và Visual Studio 2022 cho Mac (và các
phiên bản mới hơn).

NET 6 (2.0 )
Microsoft đã cho ra mắt .NET 6, đây là sự nỗ lực rất lớn của team Microsoft nhằm
biến .NET Framework thành một mã nguồn mở, và cung cấp đa nền tảng cho tất cả các
loại dự án .NET.

.NET Core 2.0 xuất hiện vào năm 2017 như một mã nguồn mở, thay thế cho .NET
Framework, và sau đó vào năm 2020, cái tên "Core" đã bị loại bỏ và chỉ dành cho .NET 5,
.NET 6 và tiếp tục trong tương lai.
Chế độ xem cấp cao của .NET 6

Với sự bổ sung gần đây của Machine Learning và WebAssembly (cho phép ứng
dụng .NET trong trình duyệt web), nền tảng .NET 6 có thể được sử dụng cho các dự án
website, thiết bị di động, máy tính để bàn, game và Internet of Things (IoT).

Điểm nổi bật .net 6

 .NET 6 sẽ được hỗ trợ trong ba năm dưới dạng bản phát hành hỗ trợ dài hạn
(LTS) mới nhất.
 Tất cả trình duyệt, máy tính để bàn, ứng dụng di động đều cùng sử dụng một
thư viện .NET và khả năng chia sẻ mã nguồn dễ dàng.
 Hiệu suất được cải thiện đáng kể trên toàn bộ giao diện nói chung và đối với tệp
I/O nói riêng.
 Visual Basic đã cải thiện trải nghiệm Visual Studio.
 Tính năng Hot Reload cho phép bỏ qua việc khởi động lại ứng dụng để xem
thay đổi mới trong khi ứng dụng của bạn đang chạy.
 Tính năng chẩn đoán đám mây (Cloud diagnostics) đã được cải thiện
với OpenTelemetry và giám sát dotnet.
 Các thành phần Blazor hiện có thể được hiển thị từ JavaScript và được tích hợp
với các ứng dụng dựa trên JavaScript.
 Tính năng minimal API hiện đã đơn giản hóa trải nghiệm bắt đầu và cải thiện
hiệu suất của các dịch vụ HTTP.
 Các ứng dụng single-file hiện có thể được xuất bản cho Linux, macOS và
Windows.
 Các ứng dụng single-page được xây dựng bằng ASP.NET Core hiện sử dụng một
mẫu linh hoạt hơn có thể sử dụng với Angular, React và các framework
JavaScript frontend phổ biến khác.
 HTTP / 3 đã được thêm vào để ASP.NET Core, HttpClient và gRPC đều có thể
tương tác với các máy khách và máy chủ HTTP / 3.
 File IO hiện đã hỗ trợ các liên kết tượng trưng và đã cải thiện đáng kể hiệu suất
với FileStream.
 Tính năng IL trimming hiện đã hiệu quả hơn, với các cảnh báo và bộ phân tích
mới để đảm bảo kết quả cuối cùng chính xác.
 Tính năng source generators and analyzers đã được thêm vào để giúp bạn làm
việc tốt hơn, an toàn hơn và hiệu suất cao hơn.
 Tính năng source build cho phép các tổ chức như Red Hat xây dựng .NET từ
nguồn và cung cấp các bản dựng của riêng họ cho người dùng.

.NET 6

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.

You might also like