Ở bài viết này, chúng ta sẽ tìm hiểu .NET Core là gì, những điểm mạnh của nó. Và các nền tảng .NET Framework, .NET core có gì khác nhau. Cùng mình tìm hiểu qua bài viết này nhé.
Bài viết này được đăng tại anhben.com, không được copy dưới mọi hình thức.
Mục lục
1. .NET Core là gì?
.NET Core là một framework được Microsoft phát triển. Đây là một nền tảng phát triển đa mục đích. .Net Core là nền tảng chéo (hỗ trợ Windows, macOS và Linux) và có thể được sử dụng để xây dựng các ứng dụng thiết bị, đám mây và IoT.
2. Ngôn ngữ hỗ trợ
.NET Core hỗ trợ các ngôn ngữ như: C # và F # (và C ++ / CLI kể từ 3.1; chỉ được bật trên Windows) và nó còn hỗ trợ một phần của Visual Basic .NET.
Cụ thể
- C#: Là loại ngôn ngữ lập trình phát triển theo hướng đối tượng và mục đích.
- F# : Là loại ngôn ngữ lập trình cho chức năng đa nền tảng, mã nguồn mở. Nó cũng thường bao gồm lập trình cho hướng đối tượng và mệnh lệnh.
- Visual Basic: Là ngôn ngữ lập trình có cú pháp đơn giản giúp xây dựng cho các ứng dụng hướng tới đối tượng an toàn.
Những công cụ (gọi tắt là IDE) để lập trình với .NET core:
Các phiên bản .Net Core được ra đời từ năm 2016 đã phát triển rất đều đặn và nhận được những sự tiếp đón từ phía cộng đồng lập trình viên. Trong đó bản được đánh giá là ổn định và được ưa chuộng nhất chính là 3.1.2.
Nếu bạn không hiểu ngay thì cũng đừng lo lắng, chúng ta sẽ tìm hiểu dần từng phần nhé.
3. .NET Core ra đời trong hoàn cảnh nào?
ASP.NET đã xuất hiện cách đây 15 năm trước. Nó là một phần của .NET Framework. Nó đã có hàng triệu lập trình viên đã sử dụng để xây dựng những ứng dụng web. Và Microsoft đã phát triển thêm nhiều tính năng mới qua từng năm.
ASP.NET Core có một số thay đổi lớn. Từ việc học hỏi các framework module hóa khác. ASP.NET Core không còn dựa trên System.Web.dll nữa. Mà được dựa trên một tập hợp các gói, các module hay cũng được gọi là các Nuget packages.
Với ASP.NET Core bạn có thể:
- HTTP request được tối ưu nhẹ hơn.
- Hợp nhất xây dựng web UI và web APIs.
- Tích hợp những client-side frameworks hiện đại và có những luồng phát triển.
- Hệ thống cấu hình dựa trên môi trường đám mây thật sự.
- Dependency injection được xây dựng sẵn.
- Có thể host trên IIS hoặc self-host trong process của riêng bạn.
- Được xây dựng trên .NET Core, hỗ trợ thực sự app versioning.
- Những công cụ mới để đơn giản hóa quá trình phát triển web tối ưu.
- Xây dựng và chạy đa nền tảng(Windows, Mac và Linux).
- Mã nguồn mở và tập trung vào cộng đồng.
4. Thành phần của .Net Core
.NET Core bao gồm các nền tảng: .NET Compiler Roslyn, .NET Core framework CoreFX, .NET Core runtime CoreCLR, và ASP.NET Core.
Cấu trúc của.Net Core chi tiết
- CoreFX: Nó được xem là nền tảng thư viện dành cho .NET Core.
- CoreCLR: Đây là công cụ thực thi .Net trong .Net Core. Nó hỗ trợ thực hiện một số chức năng như thu gom và biên dịch rác thành mã máy.
- .Net Core runtime: Sẽ cung cấp một kiểu hệ thống, tải lắp ráp, trình thu gom rác và các dịch vụ cơ bản khác.
- Net Core runtime: Cung cấp framework để việc xây dựng các ứng dụng hiện đại tối ưu, dựa trên đám mây, ứng dụng web, kết nối internet,…
- .Net Core SDK và trình biên dịch ngôn ngữ (Roslyn và F#): giúp cho phép phát triển .Net Core
- Lệnh dotnet: Lệnh dùng cho việc khởi chạy ứng dụng .NET Core và các lệnh CLI.
5. Phân biệt .NET Framework, .NET Core, và Mono
Với người mới làm quen với .NET hay kể cả một số người đã làm việc với .NET lâu năm. Những thuật ngữ, khái niệm như .NET Framework, Mono hay .NET core vẫn hay gây ra nhầm lẫn. Về cơ bản thì .NET Framework, .NET core và Mono là ba phiên bản .NET khác nhau (có nghĩa là mỗi phiên bản có Runtime, Libraries và Toolings riêng).
- .NET Framework: Được Microsoft đưa ra chính thức từ năm 2002. .NET Framework chỉ hoạt động trên hệ điều hành Windows. Những nền tảng như: WPF, Winforms, ASP.NET(1-4) hoạt động dựa trên .NET Framework.
- Mono là phiên bản cộng đồng giúp mang .NET đến những nền tảng ngoài Windows. Mono được phát triển để xây dựng những ứng dụng với giao diện người dùng và được sử dụng rất rộng rãi như: Unity Game, Xamarin…
- .NET core: Đến năm 2013, Microsoft định hướng đa nền tảng và phát triển .NET core. .NET core hiện được sử dụng trong các ứng dụng Universal Windows platform và ASP.NET Core.
Bạn nên chọn .Net Framework hay là .Net Core?
Bạn nên lựa chọn .NET Framework nếu:
- Bạn muốn chọn một môi trường làm việc ổn định.
- Bạn là người không có quá nhiều thời gian để tìm hiểu về nền công nghệ mới.
- Bạn đang sở hữu một đội ngũ có chuyên môn.
- Bạn đã từng làm việc trên một ứng dụng và hiện có khả năng mở rộng chức năng.
- Bạn không muốn phải liên tục nâng cấp cũng như thay đổi liên tục.
- Bạn cần xưng dựng lên những ứng dụng khách trên hệ điều hành Windows bằng Windows Forms hay WPF.
Bạn nên lựa chọn .NET Core nếu như:
- Bạn đang muốn xây dựng ứng dụng của mình chạy đa nền tảng: Windows, Linux và Mac.
- Bạn có sẵn các tinh thần học hỏi, không sợ sai bởi vì .NET Core vẫn chưa có thể hoàn thiện.
- Phát triển ứng dụng theo kiểu Microservices:Xây dựng các ứng dụng phức tạp dựa theo module với khả năng tách rời và với mỗi module có thể sử dụng các công nghệ khác nhau. Hiện nay .Net Core chính là một trong những lựa chọn chính xác nhất.
- Nếu hệ thống của bạn cần hiệu năng và khả năng mở rộng tốt nhất cho dù có nhiều người dùng thì .NET Core và ASP.NET Core sẽ vẫn là trợ thủ sáng giá nhất bạn nên lựa chọn.
6. Những cái mới trong .Net Core
Chạy đa nền tảng
Trong khi .Net truyền thống chỉ chạy được trên nền hệ điều hành Windows.
Hiện nay, thế giới đang dần chuyển sang mã nguồn mở. Microsoft tạo .Net Core là một open source. Source Code của nó được lưu trữ trên GIT.
Chỉ có Mono có thể chạy trên Linux. Nhưng đây không phải một sản phẩm của MS. Với .Net Core bạn có thể phát triển các ứng dụng trên Linux, Mac, Windows.
Tối ưu việc thực thi
Đã có nhiều sự thay đổi trong thư viện. Như thư viện “System” bao gồm cả System.IO, System.Net, System.Configuration. Nhờ vậy làm cho thư viện gọn hơn và tối ưu hơn. .NET Core hỗ trợ nuGet packages để người phát triển có thể phát triển các gói .Net Core.
.Net Core là một trong những loại framework dễ học và có tính hiện đại, tính linh hoạt cao. Nhờ đó cơ hội việc làm cho những lập trình viên.Net Core rất nhiều.
Bài viết là những chia sẻ của mình về .net core là gì? những điều cần biết về .net. Cảm ơn các bạn đã theo dõi bài viết.