Hiện tại chúng ta nhìn thấy khá nhiều tranh cãi giữa các lập trình viên .NET về chủ đề Khi nào nên sử dụng .NET Core và .Net Framework. Đâu là lựa chọn tốt nhất cho dự án của bạn? Sau đây oktot sẽ đưa ra một số hình ảnh so sánh về .NET Core và .NET Framework cho mọi người được rõ nhé!
Trước khi bắt đầu so sánh bạn cần nắm được khái niệm của nó:
Khái niệm .NET Core
ASP.NET Core là một open-source mới và framework đa nền tảng (cross-platform) cho việc xây dựng những ứng dụng hiện tại dựa trên kết nối đám mây, giống như web apps, IoT và backend cho mobile. Do là một framework đa nền tảng nên .NET hỗ trợ hầu hết các hệ điều hành như Windows, Linux, macOS.
.NET Core framework bao gồm .NET Core, ASP.NET Core, Entity Framework Core. Các công nghệ này khác với .NET Framework ở chỗ chúng chạy CoreCLR runtime(used in Universal Windows Platform).
Khái niệm .NET
.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các chương trình được viết trên nền .NET Framework sẽ được triển khai trong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management), và các xử lý lỗi ngoại lệ (exception handling).
Vì vậy với những định nghĩa phía trên. Chúng ta đã hiểu rõ việc Khi nào nên sử dụng .NET Core và .Net Framework cho dự án của bạn. Một vài trường hợp so sánh bên dưới sẽ cung cấp cho bạn một số thông tin cần thiết:
Sử dụng .NET Core khi ?
- Cần đa nền tảng (Cross-platform).
- Targeting microservices.
- Sử dụng Docker containers.
- Cần xây dựng ứng dụng Machine learning với kiến thức C#, F#.
- Cần cho các hệ thống hiệu suất cao và có thể mở rộng.
- Các phiên bản cần chạy đa luồng khi xử lý.
Sử dụng .NET khi ?
- Nếu ứng dụng của bạn hiện đang sử dụng .NET Framework (Thì cứ tiếp tục phát triển .NET).
- Nếu ứng dụng của bạn sử dụng .NET và nuget bên thứ 3 mà không hỗ trợ .NET Core.
- Nếu ứng dụng của bạn sử dụng công nghệ .NET và không hỗ trợ .NET Core.
- Nếu ứng dụng của bạn sử platform và không hỗ trợ .NET Core.
Bây giờ khi nào nên sử dụng ASP.NET và khi nào nên sử dụng ASP.NET Core?
- Bạn cần xây dựng dự án liên quan ASP.NET. Dự án của bạn chạy trên Windows.
- Có sử dụng các công nghệ Web Forms, SignalR, MVC, Web API, WebHooks, or Web Pages.
- Ứng dụng chạy độc lập trên từng máy.
- Phát triển với Visual Studio bằng C #, VB hoặc F #.
- Good performance.
- sử dụng .NET Framework runtime.
Khi nào cần sử dụng ASP.NET Core
- Xây dựng cho Windows, macOS hoặc Linux.
- Sử dụng razor page để tạo Web UI as of ASP.NET Core 2.x. See also MVC, Web API, and SignalR.
- Xây dựng nhiều phiên bản cho mỗi máy.
- Phát triển với Visual Studio, Visual Studio cho Mac hoặc Visual Studio Code bằng C# hoặc F#.
- Hiệu năng cao hơn ASP.NET.
- Sử dụng đồng thời .NET Framework or .NET Core runtime
Mặc dù các so sánh trên là đúng về mặt kỹ thuật, một số lựa chọn .NET Core Framework và .Net Framework cũng phụ thuộc vào chuyên môn của người lập trình và yêu cầu của dự án. Cả hai ứng dụng .NET Core và .NET framework đều có thể chạy với hiệu năng siêu cao nếu được mã hóa tối ưu tốt.