Mục tiêu trở thành doanh nghiệp hàng đầu trong lĩnh vực GIÁO DỤC SỐ ở Việt Nam. 

Gallery

Liên hệ

Thanh Xuân Complex, Thanh Xuân, Hà Nội

contact@trithucmoi.net.vn

024-3993-3689

Công nghệ thông tin

GIỚI THIỆU ASP.NET Core

1. ASP.NET Core là gì?

ASP.NET Core là gì? Nó 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.

Ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên phiên bản đầy đủ của .NET Framework. Nó được thiết kế để cung cấp và tối ưu development framework cho những dụng cái mà được triển khai trên đám mây (cloud) hoặc chạy on-promise.

Nó bao gồm các thành phần theo hướng module nhằm tối thiểu tài nguyên và chi phí phát triển, như vậy bạn giữ lại được sự mềm dẻo trong việc xây dựng giải pháp của bạn. Bạn có thể phát triển và chạy những ứng dụng ASP.NET Core đa nền tảng trên Windows, Mac và Linux.

Đồng thời nó đã trở thành một mã nguồn mở. Đây là một thay đổi rất lớn và quan trọng nhất của ASP.NET Core. Điều mà trước đây khó có một lập trình viên nào có thể nghĩ đến. Có lẽ đó cũng là một xu thế mà các ngôn ngữ lập trình hiện nay đang hướng tới.

2. ASP.NET Core ra đời trong hoàn cảnh nào?

Bản phát hành đầu tiên của ASP.NET đã xuất hiện cách đây 15 năm trước, nó là một phần của .NET Framework. Từ đó, hàng triệu lập trình viên đã sử dụng nó để xây dựng những ứng dụng web tuyệt vời, và trong những năm đó Microsoft đã phát triển thêm nhiều tính năng mới.

ASP.NET Core có một số thay đổi kiến trúc lớn, đó là kết quả của việc học hỏi rất nhiều từ các framework module hóa khác. ASP.NET Core không còn dựa trên System.Web.dll nữa. Nó đượ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. (Điều này cho phép bạn tối ưu ứng dụng của bạn để chỉ bao gồm những packages nào cần thiết. Lợi ích của nó là giúp cho ứng dụng nhỏ hơn, bảo mật chặt chẽ hơn, giảm sự phức tạp, tối ưu hiệu suất hoạt động và giảm chi phí, thời gian cho việc phát triển.)

Ưu điểm và cải tiến của ASP.NET Core:

  • Hợp nhất việc xây dựng web UI và web APIs
  • Tích hợp những client-side frameworks hiện đại và 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
  • HTTP request được tối ưu nhẹ hơ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
  • Chuyển các thực thể, thành phần, module như những NuGet packages
  • Những công cụ mới để đơn giản hóa quá trình phát triển web hiện đại
  • 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

3. ASP.NET Core và .NET Framework

Một điều khiến rất nhiều người nhầm lẫn là mối quan hệ giữa ASP.NET Core và .NET Framework: ASP.NET Core có thể hoạt động trên .NET Framework (giống như ASP.NET cũ).

Để hiểu vấn đề này bạn cần hình dung .NET Framework (và cả .NET Core) theo hai khía cạnh: (1) hệ thống thư viện API hỗ trợ phát triển ứng dụng; (2) runtime dành cho thực thi ứng dụng.

ASP.NET Core chứa hệ thống API của riêng nó. Hệ thống API này sử dụng các API cơ bản của .NET. Thêm vào đó, .NET Core và .NET Framework có chung hệ thống API cơ bản.

Runtime có thể hình dung như chương trình máy ảo sẽ nạp ứng dụng vào để thực thi. Ứng dụng và tất cả các thư viện của cả .NET Core và .NET Framework đều nằm ở dạng mã trung gian IL (Intermediate Language).

Hai yếu tố trên cho phép chương trình viết bằng ASP.NET Core có thể hoạt động trên runtime (máy ảo) của .NET Framework. Ở chiều ngược lại, ASP.NET truyền thống không thể hoạt động trên .NET Core do nó phụ thuộc vào System.Web.dll của .NET Framework, vốn không có trong .NET Core.

ASP.NET Core 2.0 tới 2.2 có thể chạy trên .NET Framework 4.6.1 (và các phiên bản cao hơn), đồng thời có thể chạy trên .NET Core 2.0 (và các bản cao hơn). Tuy nhiên ASP.NET Core 3.0 chỉ chạy trên .NET Core 3.0.

Khi chương trình ASP.NET Core thực thi trên runtime của .NET Framework, nó sẽ gắn chặt với Windows và IIS. Do đó nó mất đi những ưu thế của .NET Core. Bù lại, nó được hưởng lợi thế từ thư viện .NET Framework.

Mối quan hệ giữa ASP.NET Core với .NET Core và .NET Framework được minh họa như hình dưới đây.

Author

nkg nkg