Thursday , 25 April 2024
HOT

So sánh sự khác biệt giữa asp.net webform và asp.net mvc

Bạn đã được nghe qua về điểm yếu và giới hạn của ASP.NET WebForm truyền thống, và làm thế nào mà ASP.NET MVC vượt qua những vấn đề này. Điều đó không có nghĩa là ASP.NET WebForm đã chết mà chỉ là : Microsoft muốn mọi người hiểu rằng có hai nền tảng song song nhau, hỗ trợ cho nhau, và cả hai đều là đối tượng cho việc phát triển hiện tại. Nói chung, việc bạn chọn lựa giữa hai mô hình còn tùy vào hoàn cảnh.

ASP.NET WebForm mang tới một trang web mà giao diện có thể lưu giữ trạng thái, và cuối cùng thêm vào một lớp trừu tượng tinh vi nằm trên HTTP và HTML, sử dụng ViewState và postback để tạo ra hiệu ứng của việc có trạng thái . Điều này thích hợp với phong cách phát triển kéo và thả của Window Form, tức là bạn đặt các đối tượng có giao diện lên trang và mã xử lý vào trình xử lý sự kiện của chúng.

MVC hòa vào bản chất không trạng thái của HTTP, làm việc chung với nó hơn là chống lại. Điều này yêu cầu bạn phải hiểu thật sự cách làm việc của một ứng dụng web, để đạt được điều đó, MVC cung cấp một cách tiếp cận đơn giản, mạnh mẽ và hiện đại cho việc viết các ứng dụng web với mã có trật tự mà dễ dàng để kiểm thử (test) và bảo trì sau này, giải phóng những phức tạp khó chịu và các giới hạn không đáng có.

Điều đặc biệt là ASP.NET MVC có mã nguồn mở, không giống các nền tảng trước đó, bạn có thể dễ dàng tải mã nguồn gốc của ASP.NET MVC, thậm chí bạn có thể sửa đổi và tạo ra phiên bản của riêng bạn.

Có những tình huống mà ASP.NET WebForm khá tốt thậm chí còn tốt hơn ASP.NET MVC. Ví dụ như các ứng dụng nhỏ, nội bộ mà trực tiếp kết nối thẳng vào các bảng CSDL hoặc dẫn người sử dụng thông qua các trình hướng dẫn tự động (wizard). Vì thế sẽ không cần phải lo lắng về băng thông do ViewState, không dính dáng tới vấn đề tối ưu hóa hệ thống tìm kiếm, và không bị làm phiền về việc kiểm thử (test) và bảo trì lâu dài. Sự tiện lợi của cách phát triển kiểu kéo thả của ASP.NET WebForm làm mờ đi các điểm yếu của nó.

Nhưng mặt khác, nếu bạn viết một ứng dụng trên Internet, hoặc các ứng dụng nội bộ lớn hơn, bạn sẽ hướng tới tốc độ download nhanh và tương thích trình duyệt chéo, được xây dựng với chất lượng cao hơn, mã kiến trúc tốt thích hợp cho việc test tự động, trong trường hợp đó ASP.NET MVC sẽ mang lại nhưng ưu điểm quan trọng.

Bảng so sánh giữa ASP.NET Webform và ASP.NET MVC

Các tính năng ASP.net WebForm ASP.net MVC
Kiến trúc chương trình Kiến trúc mô hình WebForm –> Bussiness –> Database Kiến trúc sử dụng việc phân chia chương trình thành: Models, Views, Controllers
Cú pháp chương trình Sử dụng cú pháp của WebForm, tất cả các sự kiện và controls do server quản lý Các sự kiện được điều khiển bởi controllers, các controls không do server quản lý.
Truy cập dữ liệu Sử dụng hầu hết các công nghệ truy cập dữ liệu trong ứng dụng Phần lớn dùng LINQ và SQL class để tạo mô hình truy cập đối tượng.
Debug Debug phải thực hiện tất cả bao gồm các lớp truy cập dữ liệu, sự hiển thị, điều khiển các controls. Debug có thể sử dụng các unit test để kiểm tra các phương thức trong controllers.
Tốc độ phân tải Tốc độ phân tải chậm khi trong trang có quá nhiều các controls vì ViewState quá lớn Phân tải nhanh hơn do không phải quản lý ViewState để quản lý các controls trong trang.
Tương tác với JavaScript Tương tác với JavaScript khó khăn vì các controls được điều khiển bởi server Tương tác với JavaScript dễ dàng vì các đối tượng không do server quản lý điều khiển không khó
URL address Cấu trúc địa chỉ URL có dạng:
<filename>.aspx?&<các tham số>
Cấu trúc địa chỉ rành mạch theo dạng Controllers/Action/ID

Bài viết được tham khảo từ asp.net.vn

Leave a Reply

Your email address will not be published. Required fields are marked *

*