ASP.NET Core - Giới thiệu ASP.NET Core

Giới thiệu ASP.NET Core

ASP.NET Core 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 (clound) hoặc chạy on-promise.

Ban đầu nó được ra mắt với tên ASP.NET 5 nhưng sau đó được đổi tên thành ASP.NET Core.

ASP.NET Core and .NET Core

ASP.NET Core là một framework mô-đun được phân phối dưới dạng các gói NuGet. Điều này cho phép chúng ta có các gói được yêu cầu trong ứng dụng.

Ứng dụng trong ASP.NET Core chạy được  .NET Core và .NET framework (.NET Framework 4.x).

ASP.NET Core and .NET Core

ASP.NET Core là một framework mã nguồn mở được sự hỗ trợ Microsoft và cộng đồng,  vậy bạn cũng có thể đóng góp hoặc tải xuống mã nguồn từ các kho tương ứng trên Github.

Lịch sử phát triển ASP.NET Core 

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à trên 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.

Version Release Date
ASP.NET Core 2.0 August 2017
ASP.NET Core 1.1 November 2016
ASP.NET Core 1.0 June 2016

.NET Core

Nhiều người nhầm lẫn giữa ASP.NET Core và .NET Core. Xin lưu ý rằng ASP.NET Core và .NET Core không giống nhau. Chúng khác nhau, giống như ASP.NET và .NET Framework khác nhau.

Framework .NET Core mã nguồn mở, nhanh, nhẹ, mô-đun để tạo các ứng dụng và dịch vụ web chạy trên Windows, Linux và Mac. Vì vậy, nó là một nền tảng mà ứng dụng ASP.NET Core chạy.

NET Core is a fast, lightweight, modular and open source framework for creating web applications and services that run on Windows, Linux and Mac. So, it is a platform on which ASP.NET Core application runs.

.NET Core được đặt tên là "Core" vì nó bao gồm các tính năng cốt lõi của .NET framework. Mục tiêu chính của .NET Core là làm cho .NET framework trở thành nguồn mở và tương thích đa nền tảng để nó có thể được sử dụng trong các môi trường bị hạn chế về tài nguyên. Nó bao gồm các tính năng tối thiểu được yêu cầu để chạy ứng dụng .NET Core cơ bản và các tính năng nâng cao khác có thể được bao gồm dưới dạng gói từ NuGet.

Hình dưới đây minh họa các thành phần của .NET Core.

Các thành phần của .NET Core 

 .NET Core bao gồm các thành phần:.NET Compiler platform Roslyn, .NET Core runtime CoreCLR, .NET Core framework CoreFX and ASP.NET Core . ASP.NET Core là một phần của  .NET Core SDK vì vậy, bạn không cần cài đặt  ASP.NET Core riệng lẻ. ASP.NET Core và .NET Core là một phần của .NET Foundation.

.NET Core có giấy phép MIT hoặc Apache 2 xem tại website .NET Core repository on Github tđể đóng góp hoặc tải về mã nguồn.

Tại sao phải 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