2008-10-29 40 views
9

Nhóm của tôi đang cân nhắc xây dựng ứng dụng web tiếp theo của chúng tôi bằng cách sử dụng khung ASP.NET MVC. Tôi hơi lưỡng lự, cũng như một số người khác, bởi vì nó vẫn chỉ trong phiên bản beta. Tôi thực sự muốn nhảy vào bởi vì nó có vẻ là một cách tuyệt vời để cung cấp sự tách biệt rõ ràng các mối quan tâm và cải thiện khả năng kiểm tra.Tôi có nên xây dựng ứng dụng web tiếp theo của mình trong ASP.NET MVC không?

Tôi có nên thực hiện việc giảm ngay bây giờ, trong khi MVC vẫn đang trong giai đoạn thử nghiệm hoặc tạm dừng cho một ứng cử viên phát hành không?

Từ một số câu trả lời, tôi nghĩ tôi cần làm rõ câu hỏi của mình một chút. Mối quan tâm chính của tôi là có nên tiếp tục với một sản phẩm vẫn đang trong giai đoạn thử nghiệm không, không phải là biểu mẫu web so với mvc. Mối quan tâm này chủ yếu là do lo sợ rằng chúng tôi sẽ sử dụng một số chức năng trong phiên bản beta được thay đổi/không được hỗ trợ/không được hỗ trợ trong bản phát hành cuối cùng.

Tuy nhiên, tôi đánh giá cao quan điểm trên biểu mẫu web so với mvc. Nó chỉ không có được ở trung tâm của câu hỏi của tôi.

Trả lời

17

Đó là một cây quyết định khá đơn giản, thực sự.

Chọn ASP.NET MVC nếu bạn ...

  • Chăm sóc sâu sắc về URL
  • Chăm sóc sâu sắc về HTML của bạn
  • Muốn tách đúng các mối quan tâm
  • Muốn testability qua và thông qua
  • Muốn tính linh hoạt của công cụ xem (ASPX, NVelocity, NHaml, v.v.)
.210

Chọn WebForms nếu bạn ...

  • Thưởng thức trừu tượng stateful của WebForms (ViewState)
  • Đừng để ý PostBack mô hình
  • thích thành phần mà bạn có thể "kéo & thả" trên một trang

Đối với tôi, câu trả lời sẽ là 99% là ASP.NET MVC, bởi vì tôi nghĩ rằng đó là một kết hợp tốt hơn cho web.Tôi nghĩ câu chuyện ajax cũng sạch hơn nhiều và tôi có toàn quyền kiểm soát các URL HTML & của mình. Trên hết, tôi có thể kiểm tra trang web của tôi (bộ điều khiển) khá dễ dàng. Có, tôi biết bạn có thể đạt được các URL sạch trong WebForms và bạn có thể có sạch (er) HTML thông qua Bộ điều hợp Kiểm soát, và bạn có thể đạt được mức độ thử nghiệm với mẫu MVP trong WebForms, nhưng tất cả đều là off- con đường bị đánh đập. Với ASP.NET MVC công cụ này là cốt lõi. Đó chỉ là cách bạn làm điều đó.

Và đừng lo lắng về trạng thái xem trước/beta. Nhóm nghiên cứu đã luôn duy trì rằng bạn không cần giấy phép hoạt động để triển khai nó (mặc dù họ hiện cung cấp một). Nó hoàn toàn phụ thuộc vào ASP.NET Runtime hiện tại.

Giống như hộp số tự động so với hộp số tay. Chọn một trong đó làm cho bạn hạnh phúc và chạy với nó.

+0

đây không phải là hai giải pháp duy nhất. – roundcrisis

+0

@Roundcrisis * ting * –

+0

lớn lên ở Vương quốc Anh tôi đã từng được sử dụng để truyền dẫn thủ công và luôn là điều tôi muốn có được khi tôi mua chiếc xe đầu tiên của mình. nhưng tôi đã rất bận rộn chọn màu sắc và các tính năng mà tôi hoàn toàn FORGOT để yêu cầu truyền dẫn bằng tay. nhìn lại tôi rất vui vì tôi đã làm (tôi sống ở LA) nhưng bây giờ tôi quay lại hướng dẫn sử dụng với MVC! –

0

Nếu bạn không phải sớm đưa ứng dụng của mình vào sản xuất, hãy viết nó trong MVC. Ở đây, chúng tôi có một nhóm làm việc với MVC và lập kế hoạch để đưa nó vào sản xuất tại jan/2009.

1

Cho đến nay MVC có vẻ tốt, tuy nhiên tôi ma lâu đài ủng hộ tôi đã sử dụng monorail ở nhiều địa điểm sản xuất và nó đã cho tôi vào tìm hiểu về IoC và AR Cheack ra castleproject.org

4

tôi thích ASP.NET MVC để WebForms, vì vậy tôi sẽ chọn điều đó, nhưng bạn cần phải làm việc như một nhóm nơi kỹ năng cốt lõi của bạn được đặt và có hay không chọn MVC sẽ:

  1. Tạo một sản phẩm tốt hơn.
  2. Giúp bạn tiếp cận thị trường nhanh hơn.

Đừng chỉ chọn vì nó mới. WebForms vẫn là một lựa chọn tuyệt vời và bạn có thể viết mã cho WebForms, cả hai đều có thể kiểm tra và có sự phân tách rõ ràng các mối quan tâm.

0

Nếu nó không phải là nhiệm vụ quan trọng và bạn và nhóm của bạn có thời gian để tìm hiểu nó, tại sao không?

1

Tôi khuyên bạn nên chụp ảnh. Chúng tôi vừa mới phát hành một nền tảng thương mại điện tử với MVC chạy giao diện người dùng, và trong khi có một số gotchas mà bạn có thể vấp ngã (Nói, giải quyết các loại ẩn danh của Url hiện chậm hơn nhiều so với sử dụng RouteValueDictionary, là một ngạc nhiên với tôi), nó chắc chắn cảm thấy như nó đã được dễ dàng hơn nhiều để xây dựng một hệ thống quản lý trong MVC so với các ứng dụng WebForms cũ của chúng tôi.

Nếu bạn có sự lựa chọn sang trọng, thì chắc chắn bạn sẽ có cái nhìn gần hơn. Các lỗi đã xuất hiện trong khi chúng tôi làm việc trên nó đã được sửa chữa khá nhanh chóng, và hầu hết mọi thứ hoạt động tốt ngay bây giờ, và nó bắt đầu cảm thấy khá hoàn chỉnh.

Nhưng cuối cùng, nó luôn luôn là một nguy cơ để đưa vào một sản phẩm beta sớm. :)

1

Trừ khi ứng dụng của bạn cực kỳ đơn giản, có khả năng MVC sẽ được phát hành trước khi bạn đi vào sản xuất. Điều đó hầu như không quan trọng mặc dù. Tôi đã được xây dựng trên MVC kể từ khi xem trước 2. Mỗi phiên bản mới có chứa những thay đổi phá vỡ; tuy nhiên, họ không khó để theo dõi và sửa chữa. Rất khó có thể bằng 1.0 bạn có thể tạo ra một dãy mã sẽ bị lật đổ bởi một số thay đổi đột phá. Chỉ cần lập ngân sách một vài giờ để áp dụng mỗi phiên bản mới.

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