ASP.NET Core Web Framework: Ứng dụng .NET đa nền tảng
ASP.NET Core là web framework mã nguồn mở của Microsoft để dựng web app đa nền tảng, dựa trên cloud, cùng HTTP API và backend cho ứng dụng di động, chạy trên .NET runtime. Cùng một codebase C# chạy trên Windows, macOS và Linux, và bạn lắp ứng dụng từ các thành phần mô-đun thay vì kéo vào một khối stack nguyên khối.
Hãy chọn ASP.NET Core nếu đội của bạn đã viết C#, hoặc bạn muốn một web framework đa nền tảng, được Microsoft hỗ trợ trực tiếp, với kiểu tĩnh và một runtime duy nhất phía sau API, UI dựng phía máy chủ và backend di động. Bỏ qua nếu bạn muốn ở lại trong một ngôn ngữ scripting duy nhất, hoặc không muốn bám theo nhịp phát hành .NET hằng năm và các mốc hỗ trợ LTS.
Vấn đề nó giải quyết
Phần lớn các đội chọn một web stack rồi sống chung với đánh đổi của nó nhiều năm: một ngôn ngữ scripting khởi đầu nhanh nhưng lỏng lẻo khi lớn lên, hoặc một framework có kiểu tĩnh nặng hơn — kỷ luật nhưng buộc bạn vào một hệ điều hành hay một nhà cung cấp. ASP.NET Core web framework ra đời để cho thế giới .NET/C# một cách duy nhất, có kiểu tĩnh, đa nền tảng để dựng web app và API triển khai lên cloud hoặc on-premises mà không phải đổi ngôn ngữ giữa backend cho trình duyệt, một dịch vụ IoT và một API di động.
Đây là gì?
ASP.NET Core là một web framework mã nguồn mở, miễn phí, đa nền tảng từ Microsoft để dựng web app dựa trên cloud, HTTP API, ứng dụng IoT và backend di động. Nó dùng giấy phép MIT, do .NET Foundation quản trị, và chạy trên .NET runtime, nên chia sẻ C#, các thư viện nền tảng và bộ công cụ với phần còn lại của hệ sinh thái .NET. README mô tả nó là các thành phần mô-đun với chi phí tối thiểu, nghĩa là bạn lắp ghép framework thay vì thừa hưởng một khối nguyên khối cố định.
Vì sao đang được chú ý
Đây là một trong những repo web-framework lớn hơn trên GitHub — khoảng 38k sao và 10.8k fork — và là dự án chính chủ của Microsoft chứ không phải một sản phẩm phụ của cộng đồng, nên đà tăng đều đặn chứ không phải một cú vọt. Repo chạy theo nhịp mở: roadmap công khai, một buổi community standup hằng tuần phát trên YouTube, các bản build hằng ngày của shared framework, và các nhãn 'help wanted' / 'good first issue' giữ dòng đóng góp từ bên ngoài. Các bản build hằng ngày hiện nhắm .NET 11, nên phát triển đang diễn ra công khai và liên tục.
Tính năng chính
- ✓Đa nền tảng theo thiết kế — cùng một ứng dụng build và chạy trên Windows, macOS và Linux
- ✓Các thành phần mô-đun với chi phí tối thiểu (theo README), nên bạn chỉ thêm những phần một ứng dụng cần
- ✓Một framework cho nhiều loại việc: web app, HTTP API, ứng dụng IoT và backend di động
- ✓Chạy trên .NET runtime, chia sẻ C#, các thư viện nền tảng và bộ công cụ với stack .NET rộng hơn
- ✓Triển khai cloud hoặc on-premises, với Windows Hosting Bundle và IIS module (ASP.NET Core Module) để host bằng IIS
- ✓Giấy phép MIT và do .NET Foundation quản trị, với các bản build hằng ngày/hằng đêm công khai của shared framework
Trường hợp dùng tốt nhất
- •Dựng web app chạy trên cloud và các site hướng ra internet bằng C#
- •Phục vụ HTTP API và backend cho ứng dụng di động
- •Dựng các dịch vụ ứng dụng IoT (được nêu trong README)
- •Chạy các ứng dụng nghiệp vụ on-premises phía sau IIS trên Windows
- •UI dựng phía máy chủ bằng bộ công cụ và cú pháp Razor liên quan
Cách cài đặt / dùng thử
ASP.NET Core không phải một gói bạn thả vào một project rỗng — nó đi kèm như một phần của .NET SDK. README nói hãy cài SDK ("nếu bạn không chắc cần gì, thì cài SDK; nó có mọi thứ trừ IIS plugin") và làm theo hướng dẫn Getting Started tại learn.microsoft.com/aspnet/core/getting-started. Để host bằng IIS trên Windows, bạn còn cài riêng Hosting Bundle, gồm shared framework, .NET runtime và ASP.NET Core Module. Repo cũng công bố các bản build hằng ngày của shared framework nếu bạn muốn thử các phiên bản chưa phát hành.
Cách sử dụng
Sau khi cài .NET SDK, bạn dùng CLI `dotnet` của nó để tạo khung và chạy một ứng dụng, rồi làm theo hướng dẫn Getting Started cho project đầu tiên. README không nhúng ví dụ lệnh — nó trỏ tới learn.microsoft.com/aspnet/core và trang chủ .NET để lấy các phiên bản đã phát hành và hướng dẫn. Nếu bạn muốn build chính framework từ mã nguồn (thay vì chỉ dùng nó), repo ghi lại việc đó riêng trong docs/BuildFromSource.md, vốn là một quy trình nặng hơn nhiều so với dùng SDK.
Điểm mạnh
- ✓Đa nền tảng thực sự: một codebase C# chạy trên Windows, macOS và Linux
- ✓Dự án chính chủ của Microsoft dưới .NET Foundation, giấy phép MIT, repo lớn (38k+ sao, 10.8k+ fork)
- ✓Lắp ghép mô-đun với chi phí tối thiểu thay vì một khối stack nguyên khối cố định (theo README)
- ✓Phát triển mở: roadmap công khai, community standup hằng tuần, build hằng ngày, và các good-first-issue có nhãn
- ✓Nằm trong một hệ sinh thái đầy đủ — Entity Framework Core cho truy cập dữ liệu và Razor cho cú pháp view được duy trì song song
Hạn chế & rủi ro
- △Cam kết với nó nghĩa là cam kết với .NET runtime và bộ công cụ C#; không hợp nếu bạn muốn ở lại một ngôn ngữ scripting duy nhất trên toàn stack
- △Bề mặt framework rất lớn — MVC, Razor, minimal API, SignalR và hơn nữa — nên có đường học thật sự và tài liệu theo từng phiên bản phải lọc qua
- △Các phiên bản .NET lớn phát hành hằng năm và mang theo thay đổi phá vỡ, nên bạn phải theo dõi nhịp phát hành và các mốc hỗ trợ LTS so với STS để không mắc kẹt trên một phiên bản hết hỗ trợ
- △Host bằng IIS trên Windows cần Hosting Bundle và ASP.NET Core Module riêng; triển khai rắc rối hơn so với ship một binary tự chứa duy nhất
- △Repo là một monorepo build-từ-mã-nguồn lớn; build hoặc đóng góp cho framework tại máy (docs/BuildFromSource.md) là việc nặng so với chỉ cài SDK
Lựa chọn thay thế
Ai nên thử — và ai nên bỏ qua
Các đội đã viết C#/.NET, hoặc muốn một web framework có kiểu tĩnh, được hỗ trợ chính chủ, chạy giống nhau trên Windows, macOS và Linux cho API, UI web và backend di động. Nó kém hợp nếu bạn muốn một micro-stack nhẹ một ngôn ngữ, thích tránh hệ sinh thái Microsoft/.NET, hoặc không muốn bám theo nhịp phát hành phiên bản lớn hằng năm.
Câu hỏi thường gặp
ASP.NET Core là web framework mã nguồn mở, miễn phí, đa nền tảng của Microsoft để dựng web app dựa trên cloud, HTTP API, ứng dụng IoT và backend di động bằng C# trên .NET runtime. Nó dùng giấy phép MIT và do .NET Foundation quản trị.
Có. Kho mã là mã nguồn mở dưới giấy phép MIT và là một dự án của .NET Foundation, nên bạn có thể dùng, soi và đóng góp. Framework đi kèm như một phần của .NET SDK miễn phí.
Có. Nó đa nền tảng theo thiết kế — README nói bạn có thể phát triển và chạy các ứng dụng ASP.NET Core trên Windows, macOS và Linux, vì nó chạy trên .NET runtime đa nền tảng.
README liệt kê web app, ứng dụng IoT và backend di động. Trên thực tế điều đó bao gồm site chạy trên cloud, HTTP API, ứng dụng nghiệp vụ on-premises, và UI dựng phía máy chủ qua Razor.
Cài .NET SDK, vốn đã bao gồm ASP.NET Core, rồi làm theo hướng dẫn Getting Started tại learn.microsoft.com/aspnet/core. Để host bằng IIS trên Windows, hãy cài thêm Hosting Bundle riêng.