Lập trình C++ / C# — August 3, 2016 at 3:55 am

Sự khác nhau giữa ASP.NET Web form và ASP.NET MVC

by

Nhiều bạn mới tìm hiểu về web ASP thì thường thắc mắc không biết nên chọn Asp.net Web Form hay ASP.NET MVC để theo học, vậy sự khác nhau giữa Asp.net Web Form và ASP.NET MVC là gì và nên chọn cái nào để học. Hãy tham khảo bài viết sau đây nhé.

Nếu bạn làm 1 project thì liệu bạn sẽ ASP.NET MVC hay ASP.NET Web form?

Có lẽ đa số các bạn trẻ thì sẽ chọn ASP.NET MVC là giải pháp, còn các bác lão làng thì có lẽ chọn 1 trong 2.
Đơn giản ở đậy là các bạn trẻ thường xuyên tiếp xúc công nghệ mới và có lẽ có nhiều kinh nghiệm với ASP.NET MVC hơn là với ASP.NET Web form nên việc lựa chọn chỉ có thể là ASP.NET MVC (đa số).
Còn những người biết cả 2 thì có thể lựa chọn 1 trong 2. Nhưng đa số vẫn là ASP.NET MVC. Tại sao ? Xin mời đọc tiếp

images

Tại sao ASP.NET MVC lại được ưa chuộng và sử dung nhiều trong thời gian gần đây?

Sau đây là một vài lý do chính.
– ASP.NET MVC là 1 công nghệ mới. Được nhiều bạn trẻ sử dụng, những người có kinh nghiệm với ASP.NET Web form vẫn phải học ASP.NET MVC để có thể làm việc.
– Là một Open Source. Điều này giúp ASP.NET MVC rất nhiều thuận lợi trong thời gian đầu phát triển.
– Dễ làm quen vì mô hinh Framework MVC quá quen thuộc với các developer. Và mô quen thuộc hơn so với mô hình Web form (cái cần nhiều thời gian và được đào tạo bài bản để có thể sử dụng tốt).
– Trở thành 1 trào lưu. Việc các công ty sử dụng các công nghệ mới để lôi kéo khách hàng của mình càng làm các developer sử dụng nó nhiều hơn nữa. Chính nhiều người sử dụng càng làm cho nó càng được chú ý. Nó như 1 vòng xoáy giúp ASP.NET MVC trở nên được ưa chuộng nhiều trong thời gian gần đây,
– ASP.NET Web form là đối thủ trực tiếp của ASP.NET MVC lại không có nhiều cải tiến nổi bật trong suốt các giai đoạn phát triển của ASP.NET MVC. (vì ASP.NET Web form đã ra đời và ổn định từ rất lâu).
… và còn nhiều lý do khác nữa.

Như vậy liệu ASP.NET Web form và ASP.NET MVC thì cái nào tốt hơn?

Ở đây tôi sẽ chỉ đề cập đến những điểm mạnh và một vài điểm yếu của cả 2 frameworks. Từ đó các bạn sẽ có thể so sánh chúng một cách khách quan hơn.

ASP.NET Web form

– Có một bộ control các mạnh mẽ và tiện dụng. Các controls này bao gồm các controls cơ bản và Ajax Control Toolkit của Microsoft hoặc các control được các hãng khác phát triển dựa vào ASP.NET Web form framework (như Telerik, Devexpress … ). Chúng giúp ta phat triển ứng dụng rất nhanh và có tính sử dụng lại cao. Bạn có thể thấy 1 trang web khá phức tạp, control khá đẹp nhung code lại rất ít. Đó là nhờ vào những control này. Chúng đã làm hết những điều (code và UI) có thể làm trước cho chúng ta, và ta chỉ việc đem ra sử dụng, tất nhiên chỉ cần code thêm chút thôi.

– Tốc độ hoàn thành (về thời gian) rất nhanh. Nếu bạn gặp một developer chuyên về ASP.NET Web form thì các bạn sẽ thấy anh ta hoàn thành công việc rất nhanh với ASP.NET Web form. ASP.NET Web form giúp bạn xử lý hết nhữ điều nhỏ nhặt hoặc quan trọng trong quá trình phát triển (như state controls, security, cookie, …). Tuy nhiên bạn có thể tùy biến (customize) nó khi cần Đó cũng là nhờ vào tính tiện lợi của nền tảng ASP.NET Web form này.

– Cũng chính các đặc điểm trên làm cho ASP.NET Web form chậm hơn (về hiệu xuất – performance) so với ASP.NET MVC. Nhưng nếu bạn biết cách sử dụng nền tảng này thì nó sẽ không chậm hơn bao nhiêu với thế hệ máy chủ bây giờ.

– Khó khăn trong việc thực hiện test tự đông (bao gồm cả Unit Test).

– Để có thể sử dụng tốt nền tảng này bạn cần phải có nhiều kinh nghiệm và học khá nhiều kiến thức liên quan đến ASP.NET Web form cũng như phải học một các bài bản để hiểu rõ hơn về nó.

– Phần code và giao diện gần như phải làm cùng lúc với nhau mới có hiệu quả cao. Việc phân chia task code behind và UI cho nhiều người hoặc nhiều nhóm sẽ chỉ làm ứng dụng phát triển chậm hơn.

– Vì đã ra đời khá lâu nên có tính ổn định cao và khá linh động trong việc phát triển ứng dụng. Linh động ở đây ý nói khả năng tùy biến , bạn gặp 1 vấn đề thì sẽ rất nhiều cách để bạn giải quyết vấn đề đó. Ổn định ở đây là việc ít thây đổi qua các cập nhật của Microsoft, hoặc ít hoặc không có bug của chính framework khi sử dụng. Cũng ít gặp khó khăn do chính nền tảng ASP.NET Web form gây ra.

ASP.NET MVC

– ASP.NET MVC Framework có performance tốt hơn ASP.NET Web form.

– Việc quản lý code và UI khá rõ ràng và đơn giản.

– Dễ dàng trong việc thực hiện test tự đông (bao gồm cả Unit Test).

– Dễ học và sử dụng. MVC cũng là mô hình quen thuộc của các developer. Điêu này giúp những người mới vào nghề hay người chuyển từ công nghệ khác sang ASP.NET MVC khá dễ dàng, Nó cũng khiến cho ASP.NET MVC là nền tảng được ưa chuộng nhất hiện nay.

– Model – View – Controller giúp cho code và giao diện khá độc lập và rõ ràng. Điều này giúp cho việc làm chung nhóm , hoặc các nhóm làm việc với nhau dễ dàng hơn. Đặt biệt là với 2 nhóm dev và design (graphic).

– Là một framework khá mới mẻ. Trước đây với MVC 1 và 2 thì việc phát triển ứng dụng gặp rất nhiều khó khăn và bất tiện. Bị ràng buộc bởi rất nhiều qui tắc khiến nó kém linh động. Nó cũng khiến việc phát triển úng dụng chậm rất nhiều và không suôn sẻ. Thậm chí có thể gặp bug của framework.
Nhưng các version sau này đã giúp ASP.NET MVC củng cố vị thế của mình vững vàng hơn. Framework hoạt động hiệu quả hơn. Hàng loạt các cải thiện, tính năng mở rộng, các hàm giúp đỡ đã giúp nó tiện nghi và linh động hơn rất nhiều.
Cho đến thời điểm hiện tại thì ASP.NET MVC đã rất tốt và ổn định.

Một số quan điểm sau đây có thể bạn sai lầm (đa phần là các fan cuồng ASP.NET MVC)

– ASP.NET MVC nhanh hơn (performance) ASP.NET Web form rất nhiều.
-> Sai. Trên thực tế thì nhanh hơn không bao nhiêu.

– ASP.NET MVC luôn dễ làm giao diện hơn ASP.NET Web form.
-> Sai. Nếu bõ chữ “luôn” ở trên thì đúng. Vì trên một số giao diện đặc biệt thì ASP.NET Web form có thể giúp bạn giải quyết dễ dàng hơn, nhanh hơn.

– ASP.NET Web form luôn giúp làm website nhanh hơn ASP.NET MVC.
-> Sai. 1 là không phải luôn luôn. 2 là bạn phải đảm bảo bạn sử dụng nhuần nhuyễn các controls mà ASP.NET Web form đã cung cấp (nếu không, có thể sẽ chỉ chậm hơn thôi).

Nói như vậy không có nghĩa là ASP.NET Web form chậm hay ASP.NET MVC không tốt, không linh động hay … Cả 2 đều cùng một chủ (Microsoft) nên tất nhiên mỗi nền tảng đều có mặt tốt, mặt hạn chế của nó. Nếu nó lỗi thời hay yếu kém thì Microsft đã loại bỏ hoặc không quảng bá nó hay tiếp tục phát triển nó. Vấn đề ở đây là làm sao để sử dụng nó một các hiệu quả. Điều đó phụ thuộc vào chính các nhà phát triển website, phụ thuộc vào việc phân tich ứng dụng của bạn. Từ đó đưa ra một giải pháp thích hợp là nên chọn ASP.NET Web form hay ASP.NET MVC.

Nói chung mỗi một framework có ưu điểm và nhược điểm riêng. Tùy vào từng dự án cũng như kiến thức của bản để làm ra một ứng dụng web tốt và chất lượng. Chúc các bạn thành công.

Nguồn: hoccachlam

Leave a Comment

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