Một trong những framework được dùng để xây dựng và phát triển Web phổ biến hiện nay là ASP.NET. ASP.NET là một framework web mã nguồn mở dùng để xây dựng các ứng dụng và dịch vụ web mới nhất hiện nay. Với ASP.NET, bạn có thể nhanh chóng tạo các website dựa trên HTML, CSS và JavaScript, với quy mô hàng triệu người dùng và dễ dàng thực hiện các khả năng phức tạp như Web API, form với dữ liệu lớn hay thông tin liên lạc thời gian thực.
Tập đoàn Microsoft gần đây cho ra 2 bộ công cụ khác nhau Visual Studio 2015 và .NET Core. Theo Microsoft, việc so sánh giữa 2 bộ công cụ này như sau.
Visual Studio
Bộ công cụ Visual Studio chứa ASP.NET là 1 nền tảng web trưởng thành cung cấp tất cả các dịch vụ bạn cần để xây dựng các ứng dụng web dựa server dành cho doanh nghiệp sử dụng .NET trên Windows.
Lợi ích của ASP.NET là:
- Xây dựng ứng dụng trên Windows
- Dùng Web Form, SignalR, MVC và WebPage.
- Dùng 1 phiên bản trên 1 máy
- Phát triển Visual Studio bằng cách dùng C#, VB hay F#
- Nền tảng trưởng thành (đã được nâng cấp và phát triển hàng chục năm)
- Hiệu suất cao
Visual Studio được dùng các dự án website, API và thực hiện chức năng web thời gian thực bằng SignalR.
.NET Core
ASP.NET Core là 1 framework mới, mã nguồn mở và .NET đa nền tảng dùng để xây dựng các ứng dụng web dựa trên đám mây hiện đại trên Windows, Mac và Linux.
Lợi ích của ASP.NET Core như sau:
- Xây dựng trên Windows, Mac hoặc Linux
- Sử dụng MCV, Web API
- Nhiều phiên bản trên 1 máy
- Phát triển cùng với Visual Studio và Visual Studio Code bằng C#
- Nền tảng mới
- Hiệu suất tối ưu
.NET Core dùng cho các dự án website hay API.
Việc dùng .NET Core hay Visual Studio là tùy vào dự án và sự lựa chọn của bạn, dù bạn chọn dự án theo hướng nào thì cũng có thể cấu hình lại dự án đó theo bất cứ hướng nào bạn muốn. Hình dưới đây mô tả sự liên quan giữa 2 bộ công cụ.
Web Forms vs Web Pages vs MVC
Sau khi lựa chọn bộ công cụ để phát triển Web thì bạn phải lựa chọn các công nghệ (cũng có thể gọi là mô hình) để phát triển Web. Có vẻ như sự phức tạp này là do Microsoft muốn phát triển và phân hóa các dự án Web để đáp ứng đúng nhu cầu của các nhà phát triển Web. Đối với 1 nhà phát triển Web chuyên nghiệp thì chuyện phải nắm vững cả 3 công nghệ phát triển là việc hết sức bình thường. Trong phần này, chúng ta sẽ phân tích các các công nghệ này để cho các bạn mới học web ASP.NET biết và nắm hướng học tập phù hợp.
Web Form
Web Form là 1 mô hình phát triển Web đầu tiên do Microsoft đề xuất vì vậy Web Form rất phổ biến và mang tính cổ điển trong cộng đồng các nhà phát triển Web. Nếu bạn là 1 người mới bắt đầu học Web với ASP.NET, bạn nên học Web Form đầu tiên.
Web Form được xem là nền tảng “chuyên nghiệp” và hỗ trợ lượng lớn các thư viện điều khiển và tính năng đầy đủ, có thể tích hợp dễ dàng cho việc phát triển web. Web Form hoàn toàn dễ học với rất nhiều nguồn tài liệu đề cập đến. Về mặt cơ bản, Web Form tồn tại cùng với môi trường .NET. Sự phổ biến của Web Form dần dần giảm xuống do sự nổi lên của mô hình ASP.NET MVC, tuy nhiên Web Form vẫn là 1 chuẩn phát triển web của .NET và có thể được tồn tại rất lâu nữa. Web Form dùng để xây dựng ứng website ở bất kỳ quy mô nào.
Web Page
Web Page đặc biệt dễ học đối với người mới, phù hợp cho các dự án nhỏ từ tới lớn. Vì vậy, bạn có thể học ngay hay sau khi học Web Form. Web Page là 1 nhánh phát triển mới nhất của Microsoft nhằm nhắm tới việc tạo các ứng dụng website thuận tiện. Web Page được xem là mô hình lai giữa 2 mô hình phát triển Web đó là Web Form và MVC. Web Page sử dụng cơ chế Razor View được phổ biến ở ASP.NET MVC và khái niệm “trang Web” (Page) dùng trong Web Form. Microsoft cam kết sẽ tiếp tục phát triển nền tảng Web Matrix để hỗ trợ Web Page và các lĩnh vực khác. Web Page sẽ phát triển cùng với sự phát triển của WebMatrix và chưa có dấu hiệu dừng lại. Web Page thúc đẩy sự phát triển nhanh của .NET và mang lại tính năng kéo-thả dành cho việc phát triển các ứng dụng có quy mô từ nhỏ đến lớn.
ASP.NET MVC
ASP.NET MVC là mô hình phát triển với đầy đủ tính năng và có cách tiếp cận khác so với Web Form. ASP.NET MVC cung cấp mức điều khiển trên các ứng dụng cao hơn so với Web Form. Điều này không có nghĩa ASP.NET MVC thay thế Web Form mà chỉ đơn giản là 1 mô hình thay thế cho yêu cầu thiết kế của các ứng dụng web. Bạn có thể học ASP.NET MVC sau khi học Web Form và Web Page.
Mô hình MVC (Model-View-Control) xuất hiện từ rất lâu và được dùng trong nhiều môi trường và ngôn ngữ (như Ruby, Java) và nó cơ bản rất thích hợp với Web. Tuy nhiên, việc học mô hình MVC khó hơn so với Web Form, do việc thiếu “các điều khiển” (Controls) và phải điều khiển mọi thứ như các sự kiện mang tính thủ công hơn. Do đó, MVC cho phép kiểm soát các control linh hoạt, tích hợp tốt với JavaScript, các công nghệ client-server, và được dành cho các dự án ở mọi cấp độ. MVC luôn được Microsoft phát triển và xây dựng vì vậy nó tiếp tục phát triển nổi bật. Như Web Form, MVC tồn tại cùng với sự tồn tại của môi trường .NET.
Sau khi tìm hiểu cả 3 mô hình (công nghệ) phát triển Web là Web Form, Web Page và ASP.NET MVC, bạn sẽ băn khoăn là chọn hướng nào tốt nhất để phát triển Web. Câu trả lời là “Không có cách nào tốt nhất cả, điều đó còn tùy vào dự án”. Thật vậy, mỗi lựa chọn đều được thiết kế dành cho mục đích sử dụng nào đó. Bạn phải là người đưa ra đánh giá và chọn lựa mô hình phù hợp với quy mô và kế hoạch của dự án Web.
Thông qua bài này, tôi hi vọng bạn nắm các kiến thức cơ bản về bộ công cụ phát triển Web và các mô hình xây dựng Web. Để trở thành 1 nhà phát triển Web chuyên nghiệp, bạn phải làm chủ công nghệ, vì vậy bạn phải nắm vững tất cả mô hình phát triển Web.
- APA:
Dammio. (2016). Web với ASP.NET: Web Forms vs Web Pages vs MVC? Chọn cái nào?. https://www.dammio.com/2016/10/23/web-voi-asp-net-web-forms-vs-web-pages-vs-mvc-chon-cai-nao.
- BibTeX:
@misc{dammio,
author = {Dammio},
title = {Web với ASP.NET: Web Forms vs Web Pages vs MVC? Chọn cái nào?},
year = {2016},
url = {https://www.dammio.com/2016/10/23/web-voi-asp-net-web-forms-vs-web-pages-vs-mvc-chon-cai-nao},
urldate = {2024-10-09}
}