.NET Core Framework

.NET Core là gì?

.NET Core là một open-source mới và là một framework đa nền tảng (cross-platform) cho việc phát triển những ứng dụng dựa trên nền tảng đám mây (web application). Với .NET Core bạn có thể:

  • Phát triển ứng dụng web và services, IoT apps, và server cho mobile
  • Phát triển ứng dụng trên hệ điều hành, công cụ lập trình yêu thích của bạn (Windows, MAC, Ubuntu…)

ASP.NET Core đượ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. Bao gồm các thành phần theo hướng module nhằm tối ưu tài nguyên và chi phí phát triển.

Ứng dụng ASP.NET Core có thể chạy trên .NET Framework truyền thống hoặc chạy trên .NET Core.

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

Ngày xửa ngày xưa, khi nhắc tới C#, người ta nghĩ ngay tới .NET Framework của Microsoft. C# hay bị người đời ném đá bởi vì nó đi kèm với .NET Framework chỉ hoạt động trên Windows.

Ngoài ra, để viết ứng dụng C#, lập trình viên còn phải làm việc với 2 thằng vừa nặng vừa mắc tiền là Visual Studio và Microsoft SQL Server. Hai thằng này cũng … chỉ hoạt động trên Windows nốt.

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.

Kết hợp với việc Microsoft SQL Server đã có thể chạy trên nền tảng linux từ phiên bảng 2016 và Azure của Microsoft cho phép tạo các máy ảo Red Hat Linux nên việc Linux có thể chạy .NET Core sẽ giúp cho Microsoft tăng doanh số Azure Cloud.

Tại sao lại sử dụng .NET Core?

  • Thống nhất việc xây dựng Web UI và Web API
  • Tích hợp những client-side frameworks hiện đại như React, AngularJS, Angular 2+,…
  • 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
  • Công cụ vừa mới và đơn giản để phát triển các web hiện đại
  • Xây dựng và chạy nền tảng ứng dụng ASP.NET không chỉ trên Windows mà còn trên MAC và Linux nữa
  • Mã nguồn mở và có một cộng đồng lớn

Công cụ hỗ trợ .NET Core

  • Bộ cài .NET Runtime: cho phép viết code, build và chạy ứng dụng .NET trên Windows, Linux, Mac
  • .NET Cli: Thay vì phải sử dụng Visual Studio để mở project, build và bấm run, nay ta có thể dùng command line và gõ dotnet build, dotnet run. Vừa ngầu vừa nhanh gọn. Việc build và run bằng command line cũng giúp tích hợp CI và deploy dự án dễ dàng hơn nhiều.
  • IDE: Visual Studio rất nhiều tính năng nhưng chạy chậm và khá tốn RAM. Giờ đây ta có Visual Studio Code: nhanh, gọn, nhẹ, tích hợp git và chạy được trên mọi hệ điều hành. Bạn nào quen dùng hàng của JetBrain (ReSharper, WebStorm) có thể chờ và dùng Project Rider của họ
  • Database: Trước nay dùng .NET là phải dùng kèm với Microsoft SQL Server. Giờ chuyển qua Linux thì dùng Database gì?? Đừng lo, Microsoft cũng sẽ đưa bản SQL Server 2016 của họ lên Red Hat Linux luôn.

Roadmap

VERSION RELEASE Features
2.0 14-08-2017
2.1 30-05-2018 – .NET Core:

+ Global Tools

+ Span<T>

+ Sockets

+ HttpClient Performance

+ Window Compatibility Pack

– EF Core

+ Lazy loading

+ Value conversions

+ Query Types

+ Data seeding

– ASP.Net CORE

+ HTTPS

+ Razor UI as a Library

+ HttpClientFactory

+ Asp.net Core SignalR

2.2 Q4 2018 – Update template and  scaffolding to Bootstrap 4

– Bundling & Minification middleware

– Health Checks

– Distributed configuration

– API Auth

– Proxy middleware, in support of API Gateway scenariors

– Http/2 in Kestrel

– Generic host support for Kestrel

3.0 Q1 2019 – Expands supported workload to include Windows Desktop, IoT & AI

 


Bài viết liên quan