2008-09-03 6 views
21

Là một người có một số ứng dụng khách và ứng dụng khách - có giá trị quay lại và học cách các trang ASP .NET truyền thống hoạt động hay không, hoặc di chuyển thẳng vào ASP .NET MVC?Các mẫu Web ASP .NET truyền thống vs MVC

Tôi đang tìm kiếm những cạm bẫy hoặc bẫy trong kiến ​​thức của tôi về C# chung, rằng tôi sẽ không biết từ chuỗi màn hình và những thứ trên trang web ASP .NET.

+0

Xem thêm http://stackoverflow.com/questions/102558/biggest-advantage-to-using-asp-net-mvc-vs-web-forms?lq=1 – nawfal

Trả lời

40

Đây là điều tuyệt vời về MVC. Nó hoạt động gần hơn với nền tảng của khuôn khổ hơn so với các mẫu Web ASP.NET thông thường. Vì vậy, bằng cách sử dụng MVC và hiểu nó, bạn sẽ có một sự hiểu biết tốt hơn về cách thức hoạt động của WebForms. Vấn đề với WebForms là có rất nhiều phép thuật và khoảng 6 năm cố gắng làm cho Web hoạt động như Windows Forms, vì vậy bạn có hệ thống phân cấp cây điều khiển và mọi thứ được dịch sang Web. Với MVC bạn có được cốt lõi với sự ảnh hưởng của WinForm.

Vì vậy, bắt đầu với MVC và bạn sẽ dễ dàng có thể chuyển sang WebForms nếu cần.

+2

bắt đầu với MVC sau đó chuyển sang WebForms? thật ngu ngốc . nó muốn đi 1 bước forwrad và 3 trở lại – Zakos

4

ASP.Net Webforms là một sự trừu tượng hoàn toàn khác so với khung cơ sở so với ASP.NET MVC. Với MVC, bạn đã có nhiều quyền kiểm soát hơn đối với những gì xảy ra dưới sự che chở hơn với ASP.NET Webforms.

Theo ý kiến ​​của tôi, việc học các cách khác nhau để làm mọi thứ thường sẽ làm cho bạn trở thành lập trình viên giỏi hơn nhưng trong trường hợp này có thể có những điều tốt hơn để học.

1

IMO, có nhiều cạm bẫy trong các tình huống biểu mẫu web thông thường hơn chỉ với MVC. Viewstate và databinding có thể được khôn lanh ở lần.

Nhưng đối với MVC, nó chỉ đơn giản là hình thức bưu chính/làm cho mọi thứ theo cách cũ. Không phải là nó là xấu, nó chỉ là khác nhau, và sạch hơn quá.

1

Tôi thực sự không thể nói về mặt kỹ thuật về MVC và "truyền thống" vì tôi chỉ sử dụng mô hình truyền thống cho đến nay. Từ những gì tôi đã đọc mặc dù, tôi không nghĩ rằng một là bao la vượt trội so với khác. Tôi nghĩ rằng một khi bạn "làm cho nó", bạn có thể rất hiệu quả trong cả hai.

Thực tế, tôi sẽ xem xét rằng hầu hết các sách, mẫu mã và ứng dụng hiện có đều được viết cho cách "truyền thống". Bạn có nhiều trợ giúp hơn và kỹ năng của bạn sẽ hữu ích hơn cho người sử dụng lao động với các ứng dụng hiện có được viết theo cách "truyền thống".

+2

Tôi không đồng ý về đối số mẫu mã. MVC là HTML/Javascript làm việc với các phương thức C#. Các công cụ kiểm soát web được lấy ra khỏi đó và không thực sự * thay thế * bằng cái gì khác. Như mọi công nghệ web làm việc với HTML và có thể (nên) làm việc với javascript, tôi đã tìm thấy giải pháp cho vấn đề của tôi nhanh hơn nhiều so với việc tìm ra cách để làm điều gì đó với một điều khiển asp.net. –

+0

Chỉ có một vài điều mới cần phải học để bắt đầu với ASP.NET MVC nếu bạn có kinh nghiệm ASP.NET cổ điển, và rất nhiều thứ bạn có thể quên đi. –

8

Tôi đồng ý với Nick: MVC gần gũi hơn với mô hình web thực và bằng cách sử dụng nó, bạn sẽ phải đối mặt với cách trang web của bạn thực sự hoạt động. WebForms chiêm tinh hầu hết những điều này cách xa bạn và, đến từ một nền tảng PHP, tôi thấy nó thực sự chống trực quan.

Tôi đề nghị bạn chuyển trực tiếp đến MVC và bỏ qua WebForms. Như đã nói, bạn sẽ có thể quay lại nếu cần.

2

Nó phụ thuộc vào động lực của bạn. Nếu bạn định bán mình như một nhà phát triển ASP.NET, bạn sẽ cần cả hai.

Nếu đây chỉ là niềm vui của riêng bạn, hãy chuyển đến MVC.

Cảm giác cá nhân của tôi là biểu mẫu web sẽ diễn ra trong một vài năm nữa. Vì vậy, nhiều người có thời gian và năng lượng đầu tư vào họ. Tuy nhiên, tôi nghĩ mọi người sẽ từ từ (hoặc có thể không quá chậm!) Di cư. Các biểu mẫu web luôn là một cách để thu thập và thả các VB4 morts để suy nghĩ về phát triển web. Nó khá hiệu quả, nhưng nó đã mất rất nhiều quyền kiểm soát.

0

Nếu bạn không biết làm thế nào hoặc chưa có kinh nghiệm với yêu cầu/phản hồi web cấp thô và hiển thị html/css thô thì MVC sẽ là nơi tốt để bắt đầu. Sau đó, bạn sẽ hiểu rõ hơn về ưu và nhược điểm của cả biểu mẫu web và mvc. Cả hai đều sẽ ở trong tương lai vì cả hai địa chỉ đều có nhu cầu khác nhau.

Mặc dù tôi sẽ nói biểu mẫu web là một nền tảng bị lạm dụng và lạm dụng cao. Vì vậy, phần lớn rác "nhìn không có mã" cho tất cả những ai sử dụng nó là một tên xấu. Đặt trong thời gian để hiểu nó và sử dụng nó đúng cách bạn sẽ tìm thấy một nền tảng rất mở rộng và mạnh mẽ của nó.

2

ASP.NET MVC dành cho các nhà phát triển muốn chia tách mã máy khách từ mã máy chủ. Tôi đã muốn viết JavaScript, XHTML, CSS khách hàng có thể di chuyển từ máy chủ đến máy chủ (không liên quan đến công nghệ máy chủ). Khách hàng mất nhiều thời gian để phù hợp và kết thúc, do đó bạn sẽ muốn sử dụng chúng (và các thành phần phụ) cho nhiều máy chủ nhất có thể. Sự tách rời này cho phép máy chủ của bạn hỗ trợ bất kỳ công nghệ máy khách nào hỗ trợ HTTP và các dấu ngoặc nhọn (và/hoặc JSON) như WPF/Silverlight. Nếu không có ASP.NET MVC, bạn đã bị buộc vào một mối quan hệ thù địch với toàn bộ đội ngũ ASP.NET --- nhưng Scott Guthrie là một anh chàng lạnh lùng và đưa MVC vào bảng sau nhiều năm của người tiền nhiệm (và có lẽ chính Scott) gần như hoàn toàn tập trung vào để các lập trình viên Windows Forms viết các ứng dụng web.

Trước ASP.NET MVC, tôi đã xây dựng các ứng dụng ASP.NET chủ yếu dựa trên các tệp ASHX --- trình xử lý HTTP. Tôi có thể đảm bảo với bạn rằng không có cửa hàng Microsoft "thực" nào khuyến khích hành vi này. Nó là dễ dàng hơn từ một (khôn ngoan) quan điểm quản lý để dictate rằng tất cả các nhà phát triển của bạn sử dụng cách nhà cung cấp khuyến cáo sử dụng các công cụ của nhà cung cấp. Vì vậy, các cửa hàng CNTT được một hoặc hai năm sau sẽ yêu cầu bạn phải biết cách làm trước MVC. Điều này cũng có ích khi bạn có một hệ thống "cũ" để duy trì.

Nhưng, đối với trường màu xanh lá cây, đó là MVC tất cả các cách!