So sánh giữa .NET Framework và .NET Core

  • Thursday 30/01/2020

Trong bài viết này, chúng ta sẽ cùng nhau so sánh giữa 2 nền tảng .Net Core và .Net Framework để đưa ra quyết định việc chọn cái nào để phát triển ứng dụng của mình.

Ưu điểm của .Net Framework

Nếu bạn là một lập trình viên về .Net và cần phát triển nhanh một ứng dụng nhưng không đủ thời gian để học .Net Core thì .Net Framework chính là sự lựa chọn.

Nếu bạn đang bảo trì hay nâng cấp ứng dụng .Net có sẵn thì .Net Framework cũng chính là sự lựa chọn của bạn. Việc nâng cấp từ hệ thống .Net lên .Net core bắt buộc chúng ta phải làm một số việc để làm điều đó.

Hiện tại thì .Net Framework chỉ dừng lại ở phiên bản 4.8 và nó chính là phiên bản cuối cùng của .Net Framework. Không có kế hoạch nào để nâng cấp lên phiên bản mới trong tương lai.

Ưu điểm của .Net Core

Nếu bạn đang phát triển một ứng dụng mới và đang có sự lựa chọn giữa .Net Framework và .Net Core thì .Net Core chính là sự lựa chọn không tồi.

Microsoft vừa mới phát hành phiên bản mới nhất là .Net core 3.0, với rất nhiều sự cải tiến của .Net Core. Nếu bạn muốn học hỏi những cái mới và tương lai thì đó cũng là một điểm để đưa ra quyết định

.Net Core phù hợp cho nhiều nền tảng bao gồm Windows, Linux, hay Mac Os. Cùng với sự hộ trợ của Visual Studio Code hay những editor khác thì bạn cũng có thể phát triển ứng dụng trên nhiều nền tảng khác nhau mà không gặp bất kì trở ngại nào.

Việc deploy các ứng dụng .Net core cũng trở nên đơn giản hơn bao giờ hết và tiết kiệm nguồn tài nguyên khi kết hợp với Docker Containers hay Azure Kubernates Service.

Tốc độ thực thi cũng như khả năng mở rộng ứng dụng chính là những lợi điểm tuyệt vời nhất mà .Net core mang lại.

Dưới đây là một số điểm tổng hợp để chỉ ra sự khác biệt giữa .Net Framework với .Net Core

Nhu cầu đa nền tảng (Cross-platform)

Nếu mục tiêu là có một ứng dụng có thể chạy trên các nền tảng (Windows, Linux và Mac OS) thì lựa chọn tốt nhất trong hệ sinh thái của .Net là .Net Core. Mono Project cũng có thể là một sự lựa chọn.

Cả hai sự lựa chọn .Net Core hay Mono đều là mã nguồn mở, nhưng .Net Core chính thức và trực tiếp được hỗ trợ bởi Microsoft và sẽ có những khoản đầu tư lớn khác trong tương lai.

Khi sử dụng .Net Core, sự lựa chọn tốt nhất chính là việc sử dụng Visual Studio IDE với Windows trong việc hỗ trợ những tính năng như quản lý dự án, debug, quản lý source,.. Nhưng chúng ta còn có thể sử dụng các công cụ khác như Visual Studio Code (chạy trên Mac và Linux), Sublime Text, Vim để tạo ra các ứng dụng .Net Core.

Microservices

Kiểu xây dựng những ứng dụng phức tạp theo những module có thể tách rời và mỗi module có thể sử dụng những công nghệ khác nhau, framework hay các bộ thư viện khác nhau để phát triển. .Net Core chính là sự lựa chọn phù hợp để hỗ trợ cho các ứng dụng theo hướng Microservice.

Hiệu suất làm việc cùng khả năng mở rộng hệ thống

Khi hệ thống của bạn cần hiệu năng và khả năng mở rộng tốt nhất có thể để bạn có được khả năng phản hồi tốt nhất cho dù bạn có bao nhiêu người dùng, thì đó là nơi .NET Core và ASP.NET Core thực sự tỏa sáng.

Thời của cải tiến hiệu suất theo qui luật Moore Moore cho các CPU đơn không còn áp dụng nữa; Tuy nhiên, bạn cần phải làm nhiều hơn trong khi hệ thống của bạn đang phát triển và cần khả năng mở rộng và hiệu suất cao hơn cho những người dùng đòi hỏi khắt khe hơn hàng ngày. Cuối cùng, bạn cần có được hiệu quả cao hơn, tối ưu hóa ở mọi nơi và mở rộng quy mô tốt hơn trên các cụm máy, VM và lõi CPU. Đây không chỉ là vấn đề về sự hài lòng của người dùng; nó cũng có thể tạo ra sự khác biệt lớn về chi phí / TCO. Đây là lý do tại sao điều quan trọng là phải phấn đấu cho hiệu suất và khả năng mở rộng.

Như đã đề cập, nếu bạn có thể cô lập các phần nhỏ trong hệ thống của mình dưới dạng microservice hoặc bất kỳ phương pháp liên kết lỏng lẻo nào khác, nó sẽ tốt hơn khi bạn có thể không chỉ phát triển từng mảnh nhỏ / dịch vụ siêu nhỏ một cách độc lập và có sự linh hoạt và bảo trì lâu dài tốt hơn, nhưng bạn cũng có thể sử dụng bất kỳ công nghệ nào khác ở cấp độ microservice nếu những gì bạn cần làm không tương thích với .NET Core. Và cuối cùng, bạn có thể cấu trúc lại nó và mang nó đến .NET Core khi có thể.

Command line cho Mac, Linux hay Windows

Cách tiếp cận này là tùy chọn khi sử dụng .NET Core. Tất nhiên, chúng ta cũng có thể sử dụng Visual Studio đầy đủ. Nhưng nếu bạn là một lập trình viên muốn phát triển với các trình soạn thảo nhẹ và sử dụng nhiều dòng lệnh, thì .Net Core được thiết kế cho CLI.

Windows 10 UWP .NET apps.