2010-12-13 30 views
7

Tôi là một người đầu cuối đã chọn ASP.NET WebForms thông qua làm việc trên các dự án khác nhau tại đại lý của tôi.Tìm hiểu MVC trong một dự án mới hoặc gắn bó với WebForms?

Tôi có một dự án với một nhà phát triển trong tâm trí, và tôi muốn sử dụng/tìm hiểu MVC cho nó - nhưng ông nghĩ rằng nó không có giá trị sử dụng MVC cả. Ý kiến ​​của ông là những lợi ích của MVC được nhận thức, và hiệu suất đó sẽ không phải là một vấn đề, và nó tốt hơn để chỉ cần đẩy về phía trước với WebForms.

Dự án là một ứng dụng web sẽ cung cấp cho mọi người công cụ lập kế hoạch dự án, tạo cơ sở dữ liệu liên hệ cá nhân và trang web cơ bản của riêng họ.

Cảm xúc cá nhân của tôi là tôi ghét tất cả các bloat đi kèm với các trang WebForms - ViewState, một, các tệp JS khổng lồ, thiếu kiểm soát đánh dấu (ví dụ: kiểm soát xác thực).

Rõ ràng, ASP.NET WebForms được liên kết với tài nguyên, nhưng MVC là về cấu trúc URL và diễn giải chúng.

Sau khi thảo luận và nghiên cứu Tôi đang nghĩ rằng vì đường cong chuyển tiếp/học tập được cho là lớn của MVC, nên tốt hơn là chỉ ở lại với WebForms.

Tôi đã xem Ryan Singer làm việc với RoR MVC trực tiếp, và tôi đã choáng váng trước sự phát triển nhanh chóng của mọi thứ.

Tôi có nên chấp nhận rằng nó thực dụng và hiệu quả hơn để giữ WebForms ngay bây giờ và không sử dụng MVC hay tôi nên tìm cách thuyết phục đồng nghiệp của tôi rằng MVC là điều đúng đắn để làm?

+0

Xin lỗi, Ian, vì ngữ pháp kém và không phù hợp. Tôi đã vội vàng đăng bài trước khi tham gia một cuộc họp. Cảm ơn bạn đã chỉnh sửa, mặc dù một chút nhỏ nhặt. –

Trả lời

6

Tôi thực sự khuyên bạn nên sử dụng mặt trước của ASP.NET MVC - có thể mất chút thời gian để tham gia! Nhưng chắc chắn là vậy. Ví dụ, nếu quay trở lại để thay đổi bất cứ điều gì trong hồi tưởng, nó sẽ linh hoạt hơn và dễ dàng hơn nhiều.

Tôi sẽ sử dụng điều này với LINQ, ví dụ: nếu bạn đang sử dụng cơ sở dữ liệu.

ASP.NET MVC có thể có vẻ rất khó khăn lúc đầu, nhưng một khi bạn nhận được vào nó, bạn có thể làm cho các dự án nhanh hơn rất nhiều. Đó chắc chắn là ý kiến ​​của tôi.

Một điều tốt nữa là chúng tôi đã xây dựng hỗ trợ tốt cho Test Driven Development.


Sửa(thêm lời giải thích):

Một lý do là MVC được xây dựng lên được 3 phần Model, View và Controller. Điều này có nghĩa là bạn có thể chia sẻ logic từ đánh dấu theo cách tốt. Tôi sẽ không đi vào chi tiết về cách MVC được xây dựng ở đây, vì đây là một chương của riêng nó! (http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controlle r)

Và như tôi đã đề cập ở trên, bạn có hỗ trợ rất tốt cho TDD, cá nhân tôi làm điều đó tôi chỉ có thể sử dụng vì lý do này. Định tuyến URL trong ASP.NET MVC cũng khá cuồng tín, mà tôi đã bỏ lỡ hỗ trợ tốt trong ASP.NET. ScottGu đã viết một blog thực sự tốt về điều này: http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

+0

Và đi với dao cạo! – Zote

+1

Vì vậy, điểm mà bạn đang làm là, nó dễ dàng hơn để duy trì hơn một dự án biểu mẫu web? Bạn có thể giải thích tại sao bạn nghĩ điều này? –

4

MVC là một đường cong học tập lớn vì nó rất khác với biểu mẫu web. Nếu bạn đang làm dự án này với người khác không muốn học MVC, thì bạn cũng có thể gắn bó với các biểu mẫu web.Bạn không thể dạy cho người không muốn học, nên về cơ bản bạn sẽ quay bánh xe một cách vô ích, và bạn đã có nền tảng trong các biểu mẫu web, do đó bạn sẽ thoải mái và quen thuộc với môi trường đủ để làm phát triển.

Nếu bạn tự làm việc này hoặc với một nhóm sẵn sàng học MVC, tôi khuyên bạn nên đi theo lộ trình đó ít hơn cho hiệu suất và công cụ sẵn có hơn là học cái gì đó mới và chuyển sang một khuôn khổ phần lớn được xây dựng trên khái niệm phát triển theo hướng thử nghiệm.

Asp.Net MVC là một khung công tác rất khác biệt, và nó có lợi thế nhất định, nhưng bạn cũng sẽ đối phó với những bất lợi của sự thiếu kinh nghiệm, vì vậy bạn sẽ cần phải có một dự án bạn có thể dành thời gian của bạn chắc chắn sẽ phải khởi động lại một số điều nhất định một vài lần trước khi bạn có được những thứ như thế nào bạn muốn họ được. Bạn sẽ bắt đầu, học một cái gì đó mới mà làm cho bạn quay trở lại một hình vuông, học một cái gì đó mới mà làm cho bạn quay trở lại một hình vuông, bọt, rửa sạch, lặp lại.

+0

Đây là nơi tôi đang ở. Câu hỏi của tôi là, tổng thể - là điều đáng làm lúc này, khi bắt đầu một dự án. –

+0

@ user315412 - Nếu bạn có thể dành thời gian để học nó và có đủ kiên nhẫn để có thể dừng/khởi động lại từ đầu sau khi học được điều gì đó đột phá, thì tôi sẽ nói có. MVC dường như với tôi tốt hơn cho các dự án lớn hơn, nhưng ngay cả một dự án nhỏ cũng là một người học giỏi. –

0

Có lẽ đáng để học MVC chỉ vì mục đích giáo dục. Nó mang lại lợi ích cho dev đầu cuối cho chắc chắn nhưng có những nhược điểm cho những người phụ trợ. Tuy nhiên đối với một dự án nhỏ với số lượng công việc phía máy khách bình thường, nó có thể giống nhau, do đó bạn có thể sử dụng dự án để tìm hiểu một công nghệ mới. BTW Tôi cũng thích các biểu mẫu web vì nó là một mức trừu tượng cao hơn.

Thông thường bạn nên chọn ASP.NET MVC khi bạn có giao diện người dùng AJAX nặng với nhiều hoạt ảnh và hiệu ứng hình ảnh nơi kiểm soát đánh dấu là quan trọng. Bạn nên chọn Web Forms nếu bạn có rất nhiều đầu vào dữ liệu và điều khiển độc lập kiểu widget mà bạn sử dụng lại rất nhiều vì bạn có thể đóng gói hành vi tốt hơn rất nhiều.

+0

"những nhược điểm dành cho những người phụ trợ" -> như thế nào? Tôi tìm thấy nó tương tự như trước để trở lại. – Fermin

+0

@Stilgar - Tôi không thấy những nhược điểm của những người phụ trợ. Đưa ra LINQ to SQL và việc sử dụng mô hình mạnh mẽ, tôi thấy nó gần như lý tưởng như một "người phụ trợ". Nếu bạn nghĩ rằng các biểu mẫu web có "mức trừu tượng cao hơn" thì tôi không nghĩ bạn đã dành thời gian để học MVC. Tôi thấy MVC có mức trừu tượng cao hơn nhiều so với biểu mẫu web và tôi chỉ mới phá vỡ bề mặt (tôi là một nhà phát triển giữa các biểu mẫu web). –

+0

Thành phần @Joel có thể ẩn chi tiết triển khai như HTML cần để hiển thị điều khiển hoặc chuyển HTTP POST thành sự kiện .NET. Do đó các thành phần có mức trừu tượng cao hơn. Với Web Forms bạn có thể phát triển một trang web với hầu như không có kiến ​​thức về HTML. Nó sẽ không phải là đánh dấu tốt nhất từng được tạo ra nhưng bạn có thể làm điều đó. – Stilgar

0

Có 100 lý do để chọn MVC hoặc Biểu mẫu web. Nhưng vì bạn là một nhà phát triển front-end, đường cong học tập cho bạn không nhiều như các nhà phát triển back-end, những người thường có rất ít ý tưởng về mã HTML.

Các kỹ năng hiện có của bạn như JS, CSS và Html sẽ được chuyển thẳng đến MVC.

Các vấn đề liên quan