Reputation: 2921
Today, I have a debate with my colleague on the topic. For his opinion, He doesn't think that an ASP.NET MVC is appropriate to build a website which is small and constantly updated. Instead, He believe that a traditional asp.net website is just for the situation. Because ASP.NET MVC will requires to compile first to generate .dll file. So that we can deploy the web application. In the other hand a traditional asp.net doesn't.
Is it true?
Upvotes: 0
Views: 211
Reputation: 1309
First you need to remember that there are no strict rules and you can use whatever works for you. Now to clarify, there are 3 options (not 2):
ASP.NET MVC Project (your option)
ASP.NET Web Application Project (WebForms)
ASP.NET WebSite Project (WebForms as well; apparently your colleague's option)
Now, I'm greatly simplifying this, but generally both #1 and #2 share the same basic principal of being compiled/built before being deployed. This is the potential drawback that your colleague has pointed out and that's why his pick is #3. ASP.NET WebSite projects 'by design' will compile after being deployed. You can precompile them but you don't have to. Now in this context your dispute will use the same reasoning as #2 vs #3 which fortunately has been had many times:
ASP.NET Web Site or ASP.NET Web Application?
On a side note I dare to guess that your colleague is a certified MS tech guy as this kind of question appears frequently on MS ASP.NET exams. From my experience I can only tell that these guidelines Microsoft has set for choosing web projects never actually got me convinced. They say it depends on project and team style, however in my professional experience I never had the chance to see the ASP.NET WebSite projects's 'advantages' paying off in practice.
Keep in mind we're only speaking about precompiled vs non-precompiled (your colleague's argument) and there is much more than this between ASP.NET MVC and WebForms.
Upvotes: 4
Reputation: 28345
Even if you do not precompile your asp.net webforms web-site, the ASP.NET do it itself. So MVC is more preferable for your project - as it is easy to update the website partially.
Upvotes: 1
Reputation: 8667
I think it's a bad practice to select the tools based on the amount of automated actions needed to deploy the website.
You can easily (and once) prepare a script to make a single-click deployment of the website's next version (that is, if Visual Studio's standard deployment wizard doesn't suit you), and it won't matter whether compilation is involved or not.
What really matters is what framework you are familiar with, or want to familiarize yourself with.
If you are new to both Web Forms and ASP.NET MVC, then I suggest you learn the second one.
Upvotes: 1
Reputation: 7135
ASP.NET MVC is built on top of traditional ASP.NET. You need to compile both. I'd say MVC is better for a rapidly-changing site because it helps enforce better separation of concerns and use of best practices, which keep a design easier to update.
Upvotes: 2