.NET framework là gì? Các khái niệm cơ bản về .NET framework
Khi sử dụng PC, người dùng thường nghe đến phần mềm .NET framework. Tuy vậy, không phải ai cũng nắm rõ được chức năng và công dụng của phần mềm này. Cùng Bizfly Cloud tìm hiểu .NET framework là gì, cũng như những khái niệm cơ bản về .NET framework nhé!
.NET framework là gì?
.NET framework là một nền tảng phát triển phần mềm do Microsoft phát triển. Framework này tạo ra các ứng dụng chạy trên nền tảng Windows. Phiên bản đầu tiên của .NET framework được phát hành vào năm 2002.
Phiên bản đó được gọi là .Net framework 1.0. .NET framework đã đi một chặng đường dài kể từ đó, và phiên bản hiện tại là 4.7.1.
.NET framework có thể được sử dụng để tạo cả những ứng dụng dựa trên biểu mẫu (Form-based) và dựa trên Web (Web-based). Các web service cũng có thể được phát triển bằng cách sử dụng .NET framework.
Framework cũng hỗ trợ các ngôn ngữ lập trình khác nhau như Visual Basic và C#. Vì vậy, các nhà phát triển có thể lựa chọn ngôn ngữ để phát triển ứng dụng cần thiết. Bizfly Cloud sẽ giúp các bạn sẽ tìm hiểu một số khái niệm cơ bản về .NET framework.
Lịch sử phát triển của .NET Framework
Cuối thập niên 1990: Microsoft bắt đầu làm việc trên dự án Next Generation Windows Services. Đây là dự án dẫn đến sự phát triển của .NET Framework.
Năm 2002: Phiên bản đầu tiên của .NET Framework 1.0 được phát hành vào tháng 2 năm 2002. Nó bao gồm các thư viện cơ bản, Common Language Runtime và hỗ trợ ngôn ngữ lập trình C#, Visual Basic .NET và Managed C++.
Năm 2003: .NET Framework 1.1 ra mắt cùng với Visual Studio .NET 2003. Phiên bản bổ sung hỗ trợ cho mobile ASP.NET và nhiều cải tiến về hiệu suất và bảo mật.
Năm 2005: .NET Framework 2.0: được phát hành cùng với Visual Studio 2005, phiên bản này giới thiệu Generics, cải tiến ASP.NET và Windows Forms, cũng như hỗ trợ cho các dịch vụ web tốt hơn.
Năm 2006: .NET Framework 3.0 ra đời. Phiên bản này bao gồm Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) và Windows CardSpace, cung cấp các công cụ mới cho việc phát triển ứng dụng.
Năm 2007: .NET Framework 3.5 ra đời. Phiên bản này thêm LINQ (Language Integrated Query), cải tiến WPF và WCF và tích hợp tốt hơn với Visual Studio 2008.
Năm 2010: .NET Framework 4.0 được phát hành cùng với Visual Studio 2010, phiên bản này giới thiệu các cải tiến về hiệu suất, hỗ trợ cho lập trình song song với Parallel LINQ và Task Parallel Library.
Năm 2012: .NET Framework 4.5 được phát hành cùng với Windows 8 và Visual Studio 2012, phiên bản này giới thiệu async/await, cải tiến về hiệu suất và hỗ trợ tốt hơn cho các dịch vụ web.
Năm 2013: .NET Framework 4.5.1 ra mắt. Phiên bản này cung cấp các cải tiến về hiệu suất, hỗ trợ cho các ứng dụng ASP.NET tốt hơn và nhiều cải tiến nhỏ khác.
Năm 2014: .NET Framework 4.5.2 ra đời, tập trung vào cải thiện hiệu suất, bảo mật và khả năng tương thích.
Năm 2015: .NET Framework 4.6 được phát hành cùng với Visual Studio 2015, nó bổ sung các tính năng mới cho WPF, hỗ trợ cho HTTP/2 và các cải tiến về hiệu suất.
Năm 2016: .NET Framework 4.6.1 và 4.6.2 lần lượt ra đời. Các phiên bản này tiếp tục cải tiến hiệu suất, bảo mật và tính năng lập trình.
Năm 2016: .NET Core 1.0 được Microsoft ra mắt, một phiên bản đa nền tảng và mã nguồn mở của .NET Framework, hỗ trợ Windows, macOS, và Linux.
Năm 2017: .NET Framework 4.7 ra mắt, giới thiệu các cải tiến về hiệu suất, hỗ trợ cho .NET Standard 2.0 và tích hợp tốt hơn với Windows 10.
Năm 2018: .NET Framework 4.7.1 và 4.7.2 tiếp tục cải thiện hiệu suất và bảo mật, hỗ trợ tốt hơn cho các ứng dụng trên Windows 10.
Năm 2019: .NET Framework 4.8 là phiên bản cuối cùng của .NET Framework truyền thống, tập trung vào cải tiến hiệu suất, bảo mật và hỗ trợ cho các công nghệ hiện đại trên Windows 10.
Năm 2020: Microsoft hợp nhất .NET Framework và .NET Core thành một nền tảng duy nhất, gọi là .NET 5, với mục tiêu đơn giản hóa việc phát triển ứng dụng trên mọi nền tảng.
Năm 2021 và 2022: .NET 6 và .NET 7 tiếp tục phát triển với các cải tiến về hiệu suất, tính năng mới và hỗ trợ tốt hơn cho các ứng dụng đa nền tảng.
Kiến trúc của .Net Framework
Kiến trúc cơ bản của .NET framework như sau.
Thành phần chính trong .NET Framework
Kiến trúc của .NET framework dựa trên các thành phần chính sau:
1. Thời gian chạy ngôn ngữ chung (Common Language Runtime)
"Cơ sở hạ tầng ngôn ngữ chung" hoặc CLI là một nền tảng mà trên đó các chương trình .Net được thực thi.
CLI có các tính năng chính sau đây:
- Xử lý ngoại lệ
Ngoại lệ là các lỗi xảy ra khi ứng dụng được thực hiện.
Ví dụ về ngoại lệ là:
Nếu một ứng dụng cố mở một tệp trên local machine, nhưng tệp không có.
Nếu ứng dụng tìm nạp một số bản ghi từ cơ sở dữ liệu, nhưng kết nối đến cơ sở dữ liệu không hợp lệ.
- Garbage Collection
Garbage Collection là quá trình loại bỏ các tài nguyên không mong muốn khi chúng không còn cần thiết nữa.
Ví dụ về Garbage Collection là:
Một xử lý tập tin không còn cần thiết: Nếu ứng dụng đã hoàn thành tất cả các thao tác trên một tệp, thì trình xử lý tệp có thể không còn cần thiết nữa.
Kết nối cơ sở dữ liệu không còn cần thiết nữa: Nếu ứng dụng đã hoàn thành tất cả các hoạt động trên cơ sở dữ liệu, thì kết nối cơ sở dữ liệu có thể không còn cần thiết nữa.
- Làm việc với các ngôn ngữ lập trình khác nhau
Như đã nêu ở phía trên, một developer có thể phát triển một ứng dụng bằng nhiều ngôn ngữ lập trình .Net.
Ngôn ngữ: Cấp độ đầu tiên là ngôn ngữ lập trình, phổ biến nhất là VB.Net và C #.
Trình biên dịch: Có một trình biên dịch sẽ được tách riêng cho từng ngôn ngữ lập trình. Vì vậy, bên dưới ngôn ngữ VB.Net, sẽ có một trình biên dịch VB.Net riêng biệt. Tương tự, đối với C #, bạn sẽ có trình biên dịch khác.
Common Language Interpreter: Đây là lớp cuối cùng trong .Net sẽ được sử dụng để chạy một chương trình .net được phát triển bằng bất kỳ ngôn ngữ lập trình nào. Vì vậy trình biên dịch tiếp theo sẽ gửi chương trình tới lớp CLI để chạy ứng dụng .Net.
2. Class Library
.NET Framework bao gồm một bộ các class libraries. Một class library là một tập hợp các phương thức và các hàm có thể được sử dụng cho mục đích cốt lõi.
Ví dụ, có một class library với các phương thức để xử lý tất cả các hoạt động cấp tệp. Vì vậy, có một phương pháp có thể được sử dụng để đọc văn bản từ một tập tin. Tương tự, có một phương pháp để viết văn bản vào một tập tin.
Hầu hết các phương thức được chia thành các vùng tên System. *Hoặc Microsoft.*. (Dấu hoa thị * chỉ có nghĩa là tham chiếu đến tất cả các phương thức nằm trong vùng tên System hoặc Microsoft). Một namespace là một sự tách biệt logic của các phương thức.
3. Ngôn ngữ
Các loại ứng dụng có thể được xây dựng trong .NET framework được phân loại rộng rãi thành các loại sau.
- WinForms
Được sử dụng để phát triển các ứng dụng Forms-based, quá trình này chạy trên end user machine. Notepad là một ví dụ về ứng dụng dựa trên ứng dụng khách.
- ASP.Net
Được sử dụng để phát triển các ứng dụng dựa trên web, được tạo để chạy trên bất kỳ trình duyệt nào như Internet Explorer, Chrome hoặc Firefox.
Ứng dụng Web sẽ được xử lý trên một máy chủ, sẽ được cài đặt Dịch vụ thông tin Internet.
Dịch vụ thông tin Internet hoặc IIS là một thành phần của Microsoft được sử dụng để thực thi một ứng dụng Asp.Net.
Kết quả của việc thực hiện sau đó được gửi đến các máy khách và kết quả đầu ra được hiển thị trong trình duyệt.
- ADO.Net
Công nghệ này được sử dụng để phát triển các ứng dụng tương tác với Cơ sở dữ liệu như Oracle hoặc Microsoft SQL Server.
Microsoft luôn đảm bảo rằng các .NET framework tuân thủ tất cả các hệ điều hành Windows được hỗ trợ.
Ưu, nhược điểm nổi bật của .NET framework
Một số ưu và nhược điểm nổi bật của .NET framework gồm có:
Ưu điểm
Thư viện lập trình lớn
Mộ trong những lợi ích lớn nhất của .NET framework chính là việc tạo ra môi trường chung, giúp cung cấp hiệu suất tối ưu cho việc tạo lập và xây dựng các ứng dụng web. Đồng thời cho phép truy cập, kết nối các cơ sở dữ liệu và cấu trúc dữ liệu, thực hiện việc lập trình giao diện,…
Đa ngôn ngữ
Dù là ngôn ngữ C#, C++ hay Visual Basic, người dùng cũng có thể thoải mái viết, trong khi vẫn đảm bảo khả năng tích hợp. Các đoạn code này sẽ được sử dụng cho phần mềm tương thích với các phần cứng mà .NET framework hỗ trợ.
Nǎng suất làm việc cao
Lập trình, thiết kế ứng dụng với .NET framework không tiêu tốn nhiều thời gian do nó có sẵn rất nhiều yếu tố có thể sử dụng trong thiết kế. Người dùng chỉ cần hiểu rõ cách sử dụng và tùy biến các đoạn code này sao cho tương thích với dự án của bạn, theo đó việc lập trình cũng trở nên nhanh chóng và dễ dàng hơn.
Biến đổi linh hoạt nhờ kiến trúc “ghép nối lỏng”
.NET framework được tạo ra với khả năng tùy biến linh hoạt nhờ cấu trúc ‘ghép nối lỏng’. Tính năng này giúp mang lại nhiều ưu điểm về mặt năng suất.
Bảo mật cao
.NET framework có phần kiến trúc bảo mật được xây dựng từ dưới lên, hỗ trợ bảo vệ dữ liệu và các ứng dụng khỏi hacker thông qua mô hình bảo mật evidence-based.
Tận dụng các dịch vụ được tích hợp sẵn trong hệ điều hành
Windows có nhiều loại dịch vụ vận hành trên các nền tảng gồm: truy cập dữ liệu, giao diện người dùng tương tác, mô hình đối tượng thành phần, bảo mật tích hợp và giám sát giao dịch. Từ những lợi thế đó, .NET hỗ trợ đơn giản hóa cách sử dụng, giúp cho việc lập trình trên công cụ này trở nên đơn giản hơn.
Nhược điểm
Cần phải cài đặt .NET framework trên PC để có thể chạy những chương trình được thiết kế dựa trên nền tảng .NET framework.
Nguyên tắc thiết kế .NET framework
1. Khả năng tương tác
.NET framework vẫn cung cấp rất nhiều hỗ trợ cho các phiên bản cũ hơn. Giả sử nếu bạn có một ứng dụng được xây dựng trên một phiên bản cũ hơn của .NET framework như 2.0. Và nếu bạn cố gắng chạy cùng một ứng dụng trên một máy có phiên bản cao hơn của .NET framework là 3.5. Ứng dụng sẽ vẫn hoạt động. Điều này là bởi vì với mọi bản phát hành, Microsoft đảm bảo rằng các phiên bản cũ hơn của phiên bản này sẽ có hiệu lực tốt với phiên bản mới nhất.
2. Linh động
Các ứng dụng được xây dựng trên .NET framework có thể được thực hiện để làm việc trên bất kỳ nền tảng Windows nào. Trong thời gian gần đây, Microsoft cũng đang phát triển để làm cho các sản phẩm của Microsoft hoạt động trên các nền tảng khác, chẳng hạn như iOS và Linux.
3. Bảo mật
.NET Framework có một cơ chế bảo mật tốt. Các cơ chế bảo mật sẵn có giúp xác nhận và xác minh các ứng dụng. Mỗi ứng dụng có thể xác định rõ ràng cơ chế bảo mật của chúng. Mỗi cơ chế bảo mật được sử dụng để cấp cho người dùng quyền truy cập vào mã hoặc chương trình đang chạy.
4. Quản lý bộ nhớ
Common Language runtime thực hiện tất cả công việc hoặc quản lý bộ nhớ. .NET framework có khả năng để xem các tài nguyên đang không được sử dụng bởi những chương trình đang chạy. Sau đó, nó sẽ giải phóng các tài nguyên đó cho phù hợp. Điều này được thực hiện thông qua một chương trình gọi là "Garbage Collector" chạy trong .NET framework.
Garbage collector chạy theo chu kỳ đều đặn và liên tục kiểm tra tài nguyên hệ thống nào không được sử dụng và giải phóng chúng tương ứng.
5. Triển khai được đơn giản hóa
.NET framework có các công cụ sử dụng để đóng gói các ứng dụng được xây dựng trên .NET framework. Những gói này sau đó có thể được phân phối cho các máy khách. Các gói sau đó sẽ tự động cài đặt ứng dụng.
Tại sao .NET Framework lại cần thiết?
.NET Framework đang là công cụ cần thiết giúp công việc của lập trình viên diễn ra hiệu quả hơn. Công cụ này sở hữu rất nhiều lợi ích có thể kể đến như sau:
- Tương thích với Windows.
- Hỗ trợ quá trình phát triển web, windows, cloud, mobile.
- Hỗ trợ nhiều ngôn ngữ lập trình
- Sở hữu nhiều công cụ hỗ trợ và thư viện dồi dào.
- Tối ưu hóa tốc độ và hiệu suất của ứng dụng.
- Khả năng bảo mật, quản lý dữ liệu tốt.
Các phiên bản của .NET Framework
Sau đây là các phiên bản chính của .NET Framework
Phiên bản | Tính năng |
NET Framework 1.0 |
ASP.NET cho ứng dụng web và ADO.NET cho truy cập dữ liệu. |
NET Framework 1.1 | · Hỗ trợ di động và web services cải tiến · Các cải tiến về bảo mật · ASP.NET Mobile Controls cho phát triển ứng dụng di động |
.NET Framework 2.0 | · Generics · Anonymous Methods, Partial Classes · Nullable Types · Cải tiến ADO.NET và ASP.NET |
.NET Framework 3.0 | · Windows Presentation Foundation (WPF) · Windows Communication Foundation (WCF) · Windows Workflow Foundation (WF) · Windows CardSpace |
.NET Framework 3.5 | · Language Integrated Query (LINQ) · ASP.NET AJAX · C# 3.0 và VB.NET 9.0 với các cải tiến như lambda expressions và anonymous types |
.NET Framework 4.0 | · Task Parallel Library (TPL) · Dynamic Language Runtime (DLR) · Code Contracts · Managed Extensibility Framework (MEF) · C# 4.0 với dynamic types và named/optional parameters |
.NET Framework 4.5 | · Async/Await cho lập trình bất đồng bộ · Các cải tiến về hiệu suất và bảo mật · Cải tiến WPF và WCF |
.NET Framework 4.5.1 | · Cải tiến về hiệu suất và hỗ trợ · ASP.NET Identity · Các cải tiến về debug và profiling |
.NET Framework 4.5.2 | · Cải thiện hiệu suất và bảo mật · Nâng cấp về ASP.NET, WPF và WCF |
.NET Framework 4.6 | · .NET Compiler Platform ("Roslyn") · C# 6.0 với các tính năng như auto-properties và expression-bodied members · Cải tiến hiệu suất cho 64-bit |
.NET Framework 4.6.1 | · Cải thiện về hiệu suất và bảo mật · Hỗ trợ HTTP/2 · Các cải tiến về WPF và WCF |
.NET Framework 4.6.2 | · Cải thiện hiệu suất và bảo mật · Nâng cấp về ASP.NET, WPF, và WCF |
.NET Framework 4.7 | · .NET Standard 2.0 · High DPI improvements cho WPF · Cải tiến hiệu suất và bảo mật |
.NET Framework 4.7.1 | · .NET Standard 2.0 · Configuration builders · Các cải tiến về hiệu suất và bảo mật |
.NET Framework 4.7.2 | · Dependency Injection cho ASP.NET · Các cải tiến về hiệu suất và bảo mật |
.NET Framework 4.8 | · Các cải tiến về hiệu suất và bảo mật · High DPI improvements cho WPF · Cải thiện accessibility |
Hướng dẫn cài đặt .NET framework đơn giản
Có 3 trường hợp phổ biến để máy tính được cài đặt .NET framework:
Phiên bản Windows đã có sẵn .NET framework trong cài đặt mặc định.
Khi cài đặt một ứng dụng, ứng dụng đó yêu cầu phải có .NET framework với phiên bản cụ thể.
Hoặc thay vì được cài đặt trong wizard, ứng dụng này sẽ chuyển hướng đến website để tải xuống và cài đặt .NET framework.
Hướng dẫn cài đặt . NET framework
Bước 1: Vào Start > Chọn Control Panel
Bước 2: Click chọn Programs and Features
Bước 3: Khi cửa sổ Programs hiển thị, chọn mục Turn Windows features on or off
Bước 4: Chọn tiếp mục .NET framework
Bước 5: Nhấn chọn OK và chờ trong lúc hệ thống cài đặt .NET framework.
Sự khác biệt giữa .NET và .NET Framework
Để đánh giá sự khác biệt giữa .NET và .NET Framework có thể xem xét qua một số yếu tố sau đây:
Yếu tố khác biệt | .NET | .NET Framework |
Khái niệm | .NET là một phiên bản cải tiến và mở rộng của .NET Framework | .NET Framework là một nền tảng phát triển phần mềm được Microsoft giới thiệu từ năm 2002. |
Đa nền tảng | · Hỗ trợ đa nền tảng: Windows, macOS và Linux. · Cung cấp các công cụ và thư viện để phát triển ứng dụng có thể chạy trên nhiều hệ điều hành khác nhau. | · Chỉ hỗ trợ trên hệ điều hành Windows. · Không hỗ trợ trực tiếp việc phát triển ứng dụng đa nền tảng. |
Kiến trúc và hiệu năng | · Kiến trúc mô-đun, cho phép chỉ cài đặt và sử dụng các thành phần cần thiết. · Hiệu năng được cải thiện, linh hoạt và tối ưu hóa cho nhiều môi trường khác nhau. | · Kiến trúc nguyên khối nghĩa là toàn bộ nền tảng phải được cài đặt đầy đủ. · Hiệu năng tốt cho các ứng dụng Windows, nhưng không linh hoạt cho các môi trường khác. |
Công cụ và thư viện | · Các thư viện và công cụ mới được cập nhật thường xuyên. · Hỗ trợ các công nghệ hiện đại như ASP.NET Core, Blazor, và Entity Framework Core. · Từ phiên bản .NET 5 trở đi, Microsoft tập trung vào việc cung cấp một nền tảng duy nhất cho tất cả các loại ứng dụng. | · Có một bộ thư viện phong phú, nhưng không được cập nhật thường xuyên như .NET. · Hỗ trợ đầy đủ cho các công nghệ cũ của Microsoft như Web Forms, WCF, và Windows Forms. |
Phát triển ứng dụng web | · Hỗ trợ ASP.NET Core, một phiên bản cải tiến của ASP.NET với hiệu năng cao và khả năng mở rộng tốt. · ASP.NET Core có thể chạy trên nhiều máy chủ web khác nhau như Kestrel, IIS và Apache. | · Hỗ trợ phát triển ứng dụng web thông qua ASP.NET, bao gồm Web Forms và MVC. · Chủ yếu sử dụng IIS (Internet Information Services) làm máy chủ web. |
Kết luận
- .Net là một ngôn ngữ lập trình được phát triển bởi Microsoft. Nó được thiết kế để xây dựng các ứng dụng có thể chạy trên nền tảng Windows.
- Ngôn ngữ lập trình .Net có thể được sử dụng để phát triển các Forms based applications, Web based applications, và Web services.
- Các nhà phát triển có thể chọn từ nhiều ngôn ngữ lập trình có sẵn trên nền tảng .Net. Những ngôn ngữ phổ biến nhất là VB.Net và C#.
Theo Bizfly Cloud chia sẻ