2010-02-10 4 views
10

Nó có thể là một dupe nhưng tôi không thể tìm thấy một câu trả lời thẳng. Nếu một người sắp bắt đầu học phát triển web qua .Net framework, anh ta nên đi công nghệ nào?Tìm hiểu Asp.Net WebForms hoặc Asp.Net MVC

  • Asp.Net WebForms
  • Asp.Net MVC

giữ trong xem ba khía cạnh

  • phạm vi tương lai
  • phức tạp
  • tính năng

Lưu ý: đã thực hiện một số WinForms lập trình sử dụng C#

Cảm ơn

Trả lời

5

Như hầu hết mọi người sẽ nói tôi chắc chắn, nó phụ thuộc rất nhiều vào những gì bạn muốn học và phong cách phát triển bạn muốn tiếp tục. Nếu bạn muốn kiểm soát đánh dấu trang của bạn và có ý định sử dụng rất nhiều AJAX và CSS, thì MVC là một cách tiếp cận tốt hơn, giao dịch lớn nhất là bạn mất các điều khiển của Microsoft như Gridview và các thành phần kéo và thả khác. MVC là khung công tác rất mạnh mẽ và có thể mở rộng và việc học nó cũng sẽ cho phép bạn tìm hiểu mô hình MVC (rất hữu ích nếu bạn đa dạng hóa kỹ năng của mình sau này cho các nền tảng phát triển khác). Tuy nhiên, nếu bạn đang tạo ra rất nhiều ứng dụng web nội bộ cần được phân phối nhanh, thì Webforms chắc chắn là một cách tốt hơn để đi, tài liệu cũng như người lớn và các điều khiển cho phép bạn xây dựng các chức năng mạnh mẽ miễn phí. Mặc dù bạn sẽ nhận được các mẫu cơ bản để thao tác dữ liệu trong MVC, nó không phải là bất kỳ nơi nào gần như là một ứng dụng xây dựng nhanh trong Webforms.

Đề xuất cá nhân của tôi là tìm hiểu MVC (và mẫu của nó) vì nó không có thành phần Microsoft độc quyền phụ thuộc lớn và làm cho bạn nghĩ về ứng dụng của mình ở mặt trước và tương tác với phần cuối.

Nếu bạn muốn có một ví dụ điển hình về một trang MVC lớn ... bạn đang ở trên đó .. stackoverflow chạy trên ASP.NET MVC.

Hy vọng điều này sẽ giúp, đó là một ý kiến ​​rất chung chung và có nhiều hơn nữa cho cả hai đối số.Tuy nhiên, từ kinh nghiệm cá nhân tôi nghĩ MVC sẽ dạy cho bạn nhiều công nghệ web tiêu chuẩn có thể tái sử dụng nhiều hơn trong thời gian dài.

Ciao

Jon

1

Một câu trả lời rõ ràng cho câu hỏi này là không thể nhưng tôi có thể giúp bạn đưa ra quyết định bằng cách nêu bật cho bạn một số sự kiện và key-điểm của cả hai công nghệ.

Biểu mẫu web đã ở đó từ lâu nên chúng trở nên trưởng thành và đáng tin cậy hơn so với mvc khi nói đến việc hoàn thành công việc kịp thời! Ngay cả cơ sở tri thức trên web cũng lớn hơn nhiều đối với các biểu mẫu web so với mvc.

Biểu mẫu web có nhiều chức năng phong phú và cung cấp cho bạn nhiều quyền kiểm soát hơn đối với những gì bạn muốn, cách bạn muốn thực hiện. Ở đâu như MVC có vẻ đẹp riêng của mình là nền tảng phát triển ứng dụng trọng lượng nhẹ.

Nếu bạn là người mới thì tôi khuyên bạn nên sử dụng biểu mẫu web trước và bắt đầu xem mvc song song.

stackoverflow.com đã được xây dựng bằng nền tảng MVC asp.net.

+1

Tôi không thể không đồng ý với bạn nhiều hơn. MVC là một mô hình đã được chứng minh cho các khung công tác web (hầu hết là MVC). Có một số lượng kiến ​​thức vô lý hiện có trên mô hình nói chung và trên khuôn khổ ASP.NET MVC nói riêng. Bây giờ đây là tuyên bố gây tranh cãi của tôi: Hầu hết các nhà phát triển .NET tốt nhất đã đi đến một khuôn khổ MVC (không nhất thiết là ASP.NET MVC) bởi vì họ nhận ra đó là một mô hình vượt trội. –

+0

"Các biểu mẫu web có nhiều chức năng phong phú và cung cấp cho bạn nhiều quyền kiểm soát hơn đối với những gì bạn muốn" Tôi không thể có được điều này. Hầu hết các sách hướng dẫn/sách đều gợi ý rằng MVC cung cấp sự linh hoạt và kiểm soát tốt hơn đối với những gì và cách ứng dụng nên làm hơn WebForms !!! –

5

Điều này có thể fairly controversial :)

ý kiến ​​cá nhân của tôi là; ngừng đầu tư vào webforms (nó là một mô hình bị hỏng cho web) và tìm hiểu Asp.Net MVC để không chỉ bạn có thể sản xuất các ứng dụng web thiết kế tốt mà bạn có thể sử dụng kiến ​​thức của bạn ở nơi khác trên web. MVC làm cho bạn nhận thức được HTTP, HTML và cơ sở hạ tầng web 'cơ bản' khác mang đến cho bạn cơ hội tốt hơn cho kết quả thành công. Vì vậy, trừ khi bạn muốn kiếm tiền (một lần nữa hoàn toàn ý kiến ​​cá nhân, mang nó với một nhúm muối) hỗ trợ cài đặt cũ của webforms (một chút như COBOL - giữ bạn ngựa webforms người hâm mộ :)) Tôi chắc chắn, mạnh mẽ đề nghị Asp.Net MVC;). Cấp Tôi không biết những diễn biến gần đây trên webforms (especially 4.0 ones), vì vậy bạn có thể muốn chờ đợi cho những người là tốt ..

Edit: Nếu bạn nghĩ rằng quá khứ winforms kinh nghiệm sẽ là một lợi thế hay một cuộc tranh cãi để sử dụng các biểu mẫu web (đó là điểm bán hàng chính cho các nhà phát triển Microsoft), bạn nghĩ rằng bạn sẽ đúng trong khoảng một tuần và sai trong suốt thời gian còn lại. Trong cả webforms và winforms bạn có các điều khiển. Sự tương tự kết thúc ở đó. Mô hình sự kiện là hoàn toàn khác nhau, luồng là hoàn toàn khác nhau, bạn thậm chí không thể bắt đầu so sánh hiển thị và vân vân. Đây thực sự là vấn đề chính với biểu mẫu web; cố gắng để trông giống như winforms trên một kiến ​​trúc hoàn toàn khác nhau.

+0

Chưa kể rằng hầu hết các khung công tác web khác là MVC nên kiến ​​thức của bạn về ASP.NET MVC cũng sẽ có thể chuyển sang những người khác. –

3

Việc tìm một công việc làm WebForms trở nên dễ dàng hơn nhiều, và MVC dường như không có xu hướng xâm nhập vào môi trường sản xuất ngay bây giờ. Các ứng dụng phức tạp hơn chắc chắn sẽ sử dụng MVC ngày nay, những ứng dụng nhỏ hơn rất có thể sẽ thích WebForms hơn, nhưng hãy nhớ rằng các ứng dụng nhỏ hơn đại diện cho phần lớn thị trường việc làm. Dù là nó sẽ không làm tổn thương để học cả hai, hoặc ít nhất là nắm bắt WebForms và đầu tư nhiều hơn vào MVC (vì nó cuối cùng sẽ buộc bạn phải học các công nghệ khác thường liên kết với nó: nHibernate/Entity, DDD, TDD và Sớm). Ngoài ra, bạn có thể sử dụng rất nhiều điều khiển trong MVC, với ít hoặc không có tinh chỉnh, mặc dù suy nghĩ là rất khác nhau.