Monday, August 14, 2017

ASP.NET Core và lịch sử về những nền tảng xây dựng Web của Microsoft

Trong bài viết này chúng ta sẽ giới thiệu sơ lược về ASP.NET Core - một nền tảng xây dựng Web hoàn toàn mới của Microsoft. Trước khi đi vào ASP.NET Core, chúng ta cần nhìn lại lịch sử hình thành và phát triển của nền tảng xây dựng Web trên môi trường .NET

ASP.NET Web forms

ASP.NET Web forms được ra mắt cùng với phiên bản .NET đầu tiên vào năm 2002. Trong thời kỳ này, web forms là trái tim của ASP.NET.
Web forms hỗ trợ lập trình viên trong việc xây dựng Giao diện ứng dụng. Có hai cách làm để xây dựng giao diện. Đầu tiên là sử dụng các control trong tool box bằng cách kéo thả các control lên layout của trang web. Cách thứ hai là phải tự viết HTML và các script để thêm các control như textbox, label, button ...
Dù sử dụng cách nào đi chăng nữa, tại giao diện thiết kế, lập trình viên sẽ được phép xem thử giao diện mà họ đã làm được. Phần xử lý của trang được viết tại file .cs bằng C# hoặc VB.
Sau đó web forms được cải tiến và các chức năng được cải thiện tốt hơn bằng cách dùng bootstrap và các thư viện JavaScript khác.

ASP.NET MVC

Vào năm 2009, Microsoft giới thiệu một framework mới cho việc phát triển web tên là ASP.NET MVC, được dựa trên pattern Models - Views - Controllers để giữ sự tách bạch giữa logic nghiệp vụ và logic hiển thị giao diện người dùng, cho phép bạn kiểm soát HTML được dễ dàng hơn.
Đối với lập trình viên, thì việc viết code trên MVC dễ dàng hơn so với trên Web forms. Họ có thể code xử lý dữ liệu trên Models, điều khiển logic ứng dụng trên Controller và chỉ định View cần tạo tại Controller.
Nhưng, mặc dù giải quyết được bài toán HTML abstraction, thì MVC còn bị phụ thuộc vào .NET Framework và các đối tượng trong namespace System.Web dẫn đến sự phụ thuộc tuyệt đối vào IIS và HĐH Windows.

ASP.NET Web API

Sau đó, một mẫu phát triển web khác được giới thiệu bởi Microsoft với tên gọi Web API. Trong mẫu phát triển này, thay vì xử lý dữ liệu tại server và gửi trang web hoàn chỉnh về trình duyệt, thì server chỉ gửi về dữ liệu, client sẽ thực hiện việc tạo ra giao diện và gắn dữ liệu lên. Người ta gọi đây là Single Page Application (SPA).
Thư viện này được phát triển bởi nhóm làm ra Windows Communication Foundataion (WCF) thay vì nhóm ASP.NET nên nó không bị phụ thuộc vào System.Web và IIS.

ASP.NET Core


Tại sao lại có ASP.NET Core?

Với sự ra mắt và thêm mới của nhiều thư viện, rõ ràng rằng tiềm năng của .NET Framework đã đạt mức tối đa. Nhưng còn nhiều vấn đề còn bỏ ngõ:
  • Ứng dụng .NET không thể chạy trên những hệ điều hành khác ngoài Windows
  • Phụ thuộc vào toàn bộ framework khiến ứng dụng .NET kém phù hợp với trường hợp mật độ ứng dụng cao, như trên Cloud nơi hàng trăm ứng dụng chạy trên một máy và phải có khả năng mở rộng rất nhanh.
  • Độ phức tạp của hệ thống .NET làm cản trở việc phát triển ứng dụng .NET trên những công cụ khác ngoài Visual Studio
Nên giải pháp phù hợp nhất là xây lại từ đầu, thiết kế lại framework ASP.NET ở dạng modular bài bản, code rõ ràng và có tính generic, và phải chạy được đa nền tảng.
Từ những lý do trên, Microsoft đã dựng nên ASP.NET Core sử dụng .NET Core - một .NET runtime đa nền tảng. Nên những ứng dụng được xây dựng bằng ASP.NET Core có thể chạy trên cả Windows, Mac và Linux.

No comments:

Post a Comment