Microsoft .NET Framework - Bộ Framework chính thức từ Microsoft
Microsoft.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài .NET Framework để có thể chạy các chương trình được viết trên nền .NET.
Chẳng hạn, để thiết kế một trò chơi đua xe, nếu không có bộ Framework chuyên dụng cho game, người lập trình game phải tự tạo ra: khung xe, bánh xe, người, đường đi, cây, biển báo... rồi mới tính đến chuyện “lắp ghép” chúng lại với nhau để tạo ra không gian cho game; trong khi cũng với dạng trò chơi này, nhưng nếu dùng bộ Framework có sẵn đã được phát triển thì người lập trình viên chỉ cần viết các lệnh để lấy chúng ra từ Framework và ghép chúng lại.
Không phải mọi ngôn ngữ lập trình đều khai thác được Framework, muốn sử dụng các “vật liệu” trong bộ Framework, đòi hỏi người lập trình viên phải dùng các ngôn ngữ lập trình có hỗ trợ công nghệ .NET như VB.NET, C#.NET, ASP.NET...
Phiên bản mới nhất - 4.6 của Microsoft .NET Framework đã được cải tiến và chỉnh sửa khá nhiều, có độ tương thích tốt hơn, cập nhật thông tin mới nhất, và độ linh hoạt rất cao so với các hệ thống ứng dụng hiện nay.
Những thay đổi của Microsoft .NET Framework phiên bản 4.6
ASP.NET 5
- Microsoft .NET Framework 4.6 bao gồm ASP.NET 5 dựa trên nền tảng .NET để xây dựng những ứng dụng dựa trên nền tảng đám mây hiện đại. Nền tảng này liên quan đến mô-đun, vì vậy bạn có thể chỉ bao gồm những tính năng cần thiết trong ứng dụng của mình. Nó có thể được lưu trữ trên IIS hoặc tự lưu trữ trong quá trình tùy chỉnh, và bạn có thể chạy các ứng dụng với những phiên bản khác nhau của .NET Framework trên cùng một máy chủ. Nó cũng bao cũng bao gồm một hệ thống cấu hình môi trường mới, được thiết kế cho việc triển khai đám mây điện toán.
- MVC, Web API và Web Pages được thống nhất trong một khuôn khổ duy nhất gọi là MVC 6. Bạn xây dựng 5 ứng dụng ASP.NET thông qua các công cụ mới trong Visual Studio 2015. Các ứng dụng đã tồn tại vẫn sẽ làm việc trên phiên bản .NET Framework mới, tuy nhiên, để xây dựng một ứng dụng sử dụng MVC 6 hoặc SignalR 3, bạn phải sử dụng hệ thống dự án trong Visual Studio 2015.
Cập nhật ASP.NET
Hỗ trợ HTTP/2 (Windows 10)
- Hỗ trợ HTTP/2 đã được thêm vào ASP.NET trong .NET Framework 4.6. Vì chức năng kết nối mạng tồn tại nhiều lớp, nên những tính năng mới được yêu cầu trong Windows, trong IIS và trong ASP.NET để kích hoạt HTTP/2. Bạn phải chạy trên Windows 10 để sử dụng HTTP/2 với ASP.NET. HTTP/2 vẫn chưa được thêm vào ASP.NET 5.
- HTTP/2 là phiên bản mới của giao thức HTTP, cung cấp sử dụng kết nối Internet tốt hơn nhiều (ít "những chuyến đi vòng" giữa máy khách và máy chủ hơn), giúp giảm độ trễ khi tải trang web cho người dùng. Các trang web được hưởng lợi nhiều nhất từ HTTP/2, kể từ khi giao thức này được tối ưu hóa cho nhiều hiện vật (artifacts) được yêu cầu như một phần của trải nghiệm duy nhất.
- Các trình duyệt và máy chủ web (IIS trên Windows) sẽ thực hiện tất cả mọi công việc. Bạn không phải đặt gánh nặng nào lên người dùng của mình.
- Hầu hết các trình duyệt chính đều hỗ trợ HTTP/2, vì vậy người dùng sẽ được hưởng lợi từ việc hỗ trợ HTTP/2 nếu máy chủ của bạn hỗ trợ nó. Bạn có thể thử nó với bản cập nhật RC.
Hỗ trợ cho Token Binding Protocol
- Microsoft và Goolge đã hợp tác trong cách tiếp cận mới để xác thực, được gọi là Token Binding Protocol. Tiền đề là các thẻ xác thực (trong bộ nhớ cache của trình duyệt) có thể bị đánh cắp và sử dụng bởi bọn tội phạm để truy cập tài nguyên an toàn khác (ví dụ: tài khoản ngân hàng của bạn) mà không yêu cầu mật khẩu hoặc bất kỳ sự hiểu biết được cấp quyền nào khác. Giao thức mới nhằm giảm thiểu vấn đề này.
- Token Binding Protocol sẽ được thực hiện trong Windows 10 như là một tính năng trong trình duyệt. Các ứng dụng ASP.NET sẽ tham gia vào trong giao thức, do đó thẻ xác thực được xác nhận là hợp pháp. Các tương tác giữa máy chủ và máy khách thiết lập bảo vệ end-to-end được chỉ định bởi giao thức này.
Những thay đổi trong thư viện lớp cơ sở
Nhiều API mới được thêm vào .NET Framework 4.6 RC để cho phép các kịch bản chính. Bạn sẽ nhận thấy những sự thay đổi và bổ sung sau đây:
IReadOnlyCollection
Thêm Queue và Stack.
Các loại SIMD-enabled
System.Numerics namespace hiện tại bao gồm một số lượng các loại SIMD-enabled như Matrix3x2, Matrix4x4, Plane, Quaternion, Vector2, Vector3 và Vector4Vector4.
Các cập nhật mật mã
- System.Security.Cryptography API đã được cập nhật để hỗ trợ các API mật mã của Windows CNG. .NET Framework hiện đang sử dụng phiên bản cũ của Windows Cryptography APIs làm cơ sở cho việc thực hiện System.Security.Cryptography. Nhà phát hành đã yêu cầu để hỗ trợ API CNG, vì nó hỗ trợ các thuật toán mật mã hiện đại, điều này khá quan trọng với một số loại ứng dụng hiện đại. Trong bản cập nhật này, nhóm nghiên cứu đã thêm hỗ trợ để sử dụng các key chứng nhận CNG với lớp RSACng.
- Bản cập nhật này là bước đầu tiên để hướng tới hỗ trợ rộng hơn cho Windows CNG API và cho nhiều thuật toán mật mã hiện đại nói chung.
Các chuyển đổi tương thích
- Lớp AppContext mới bổ sung thêm một số tính năng tương thích mới cho phép các tác giả cung cấp cơ chế từ chối các chức năng mới cho người dùng. Nó thiết lập một cam kết lỏng lẻo giữa các thành phần để truyền tải một yêu cầu từ chối. Khả năng này thường là quan trọng khi thay đổi được thực hiện trên các chức năng hiện có. Ngược lại, cũng có một cơ chế chấp nhận ngầm cho các chức năng mới.
- Với AppContext, các thư viện xác định và tìm thấy các chuyển đổi tương thích, trong khi code phụ thuộc vào chúng có thể thiết lập các chuyển đổi để ảnh hưởng đến hành vi của thư viện. Theo mặc định, các thư viện cung cấp chức năng mới và chỉ thay đổi nó nếu chuyển đổi được thiết lập.
- Một ứng dụng (hoặc một thư viện) có thể khai báo các giá trị của một chuyển đổi (luôn luôn là giá trị Boolean) mà thư viện phụ thuộc định nghĩa. Việc chuyển đổi được mặc định ngầm là sai. Bạn phải thiết lập chuyển đổi để thực sự cho phép nó.
Cải thiện Event Tracing
- Đối tượng .NET Framework 4.6 RC EventSource có thể được xây dựng trực tiếp và có thể gọi một trong những phương thức Write để phát hành một sự kiện tự miêu tả.
- Thư viện phải kiểm tra nếu có chuyển đổi được kê khai giá trị thích hợp và một hành động hợp lệ trên nó.
- Việc sử dụng một định dạng thích hợp cho các chuyển đổi sẽ có nhiều lợi ích, vì chúng là một giao kèo chính thức được tìm thấy bởi một thư viện. Hai định dạng rõ ràng là Switch.namespace.switchname, Switch.library.switchname.
.Net Native
- Các ứng dụng Windows cho Windows 10 mà nhằm vào .NET Core và được viết trong C# hoặc Visual Basic có thể tận dụng lợi thế của công nghệ mới, biên dịch các ứng dụng sang mã nguồn gốc hơn là IL. Chúng tạo các ứng dụng đặc trưng bởi thời gian khởi động và thực hiện nhanh hơn.
- Ứng dụng của bạn được biên dịch sang mã nguồn gốc theo mặc định khi bạn biên dịch chúng với Visual Studio 2015.
- Để hỗ trợ gỡ lỗi các ứng dụng Native Net, một số giao diện và các kiểu liệt kê mới đã được thêm vào API gỡ lỗi không được quản lý.
Các gói mã nguồn mở .NET Framework
- Các gói NET Core như Immutable Collections và SIMD APIs hiện đã có sẵn, mã nguồn mở, trên GitHub. Để truy cập code, xem NetFx trên GitHub.
- Cũng bao gồm những thay đổi trong phiên bản trước đó.
Một số điểm thay đổi chính trong Microsoft .NET Framework phiên bản 4.5.2
- Bổ sung thêm các hàm APIs cho ứng dụng ASP.NET: cụ thể là method mới HttpResponse.AddOnSendingHeaders và HttpResponseBase.AddOnSendingHeaders.
- Có thể thay đổi kích thước bộ control Windows Forms: chức năng này đã được mở rộng thêm trong phiên bản này. Giờ đây bạn có thể dùng phần thiết lập DPI của hệ thống để điều chỉnh kích cỡ của các bộ control sau: ComboBox, ToolStripComboBox, ToolStripMenuItem, Cursor, DataGridView và DataGridViewComboBoxColumn. Tuy nhiên đây lại là tính năng tự chọn, nên người dùng phải kích hoạt trong file app.config bằng cách thay đổi EnableWindowsFormsHighDpiAutoResizing từ false thành true.
- Thêm tính năng workflow: thành phần quản lý tài nguyên nào đang dùng method EnlistPromotableSinglePhase (và trước đó đã kế thừa interface IPromotableSinglePhaseNotification) giờ đây đã có thể dùng method mới Transaction.PromoteAndEnlistDurable để request nhiều thông tin hơn.
- Và nhiều tính năng mới khác.
Framework có 2 thành phần chính:
Common Language Runtime (CLR)
CLR là thành phần kết nối giữa các phần khác trong .NET Framework với hệ điều hành. CLR là chương trình viết bằng .NET, không được biên dịch ra mã máy mà nó được dịch ra một ngôn ngữ trung gian Microsoft Intermediate Language (MSIL). Khi chạy chương trình, CLR sẽ dịch MSIL ra mã máy để thực thi các tính năng, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống. Nó cũng không cho phép các lệnh nguy hiểm được thi hành. Các chức năng này được thực thi bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine, …
Trong các phiên bản hệ điều hành Windows mới như XP.Net và Windows 2003, CLR được gắn kèm với hệ điều hành. Điều này đảm bảo ứng dụng viết ra trên máy tính của bạn sẽ chạy trên các máy tính khác mà không cần cài đặt.
NET Framework class library
NET Framework class library cung cấp thư viện lập trình như cho ứng dụng, cơ sở dữ liệu, dịch vụ web...
Base class library – thư viện các lớp cơ sở
Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng .NET Framework cũng phải dùng nó để xây dựng các lớp cao hơn. Ví dụ các lớp trong thư viện này là String, Interger, Exception, …
ADO.NET và XLM
Bộ thư viện này gồm các lớp dùng để xử lý dữ liệu. ADO.NET thay thế ADO để trong việc thao tác với các dữ liệu thông thường. Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới: XML. Các ví dụ cho bộ thư viện này là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter, …
ASP.NET
Ứng dụng Web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của .NET Framework. Bên cạnh đó là một phong cách lập trình mới mà Microsoft đặt cho nó một tên gọi là code behind. Đây là cách mà lập trình viên xây dựng các ứng dụng Windows based thường sử dụng – giao diện và lệnh được tách tiêng. Tuy nhiên, nếu bạn đã từng quen với việc lập trình ứng dụng web, đây là việc mà bạn giải phóng khỏi các lệnh HTML.
Sự xuất hiện của ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web. ASP.Net cung cấp một bộ các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng của Windows. Nó cũng cho phép bạn chuyển một ứng dụng trước đây viết chỉ chạy trên Windows thành một ứng dụng Web khá dễ dàng. Ví dụ cho các lớp trong thư viện này là WebControl, HTML Control, …
Web services
Web services là các dịch vụ được cung cấp qua Web (hay Internet). Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm. Web services có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán.
Windows form
Bộ thư viện về Windows form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based. Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước đến nay bởi các công cụ và ngôn ngữ lập trình của Microsoft. Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service. Ví dụ về các lớp trong thư viện này là Form, UserControl, …
Yêu cầu hệ thống:
- Hệ điều hành: Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2.
- Bộ xử lý: 1GHz hoặc nhanh hơn.
- RAM: 512 MB RAM
- Ổ đĩa trống: 850 MB với hệ thống 32 bit, 2GB với hệ thống 64 bit.