ASP.NET MVC in a corporation – part #2

Posted by – September 10, 2009

.NET LogoIn my previous post I have mentioned that I am currently evaluating the ASP.NET MVC in context of usage for building internal corporate applications. During the evaluation I have made my small SWOT analysis and I want to share it with you in order to get to know what your opinion on this topic is. Because my all thoughts reside in a mind map I have dumped them to the plain list:

Strengths:

  • It is based on the Convention over Configuration principle, what means less ceremony in code and more time to focus on business rules;
  • It is highly extensible with many points of extension in every part of application lifecycle.
  • It is highly testable no matter if you are using the TDD or BDD style of unit testing;
  • It is provided by Microsoft – big player on the market, what at least in theory guarantee that the solution will be supported for a long time;
  • It contains a lot of elements known from classic ASP.NET like notion of session, modules, handlers, HTTP context, views based on ASPX pages and ASCX controls. This is quite important if employees have to switch to the ASP.NET MVC and previously they have used classic ASP.NET, because the learning curve is smaller;
  • It does not use the ASP.NET postback and view state models what improves testability and separation between user interface and business logic;
  • It has a routing functionality what enables cleaner URLs;
  • It gives the full control over all aspects of developed application. Many elements of the ASP.NET MVC can be easily replaced with its custom implementation (i.e. view engine, controller factory);
  • It gives the full control over HTML and how views are rendered;
  • It has a great AJAX and JSON support so usage of JavaScript frameworks like jQuery is trivial;
  • It can be easily integrated with any of popular Inversion of Control frameworks;
  • It has quite big community, there is a lot of online documentation and books;

Weaknesses:

  • It is based on the Convention over Configuration principle, what means more magic working in a background (probably harder debugging in some cases);
  • It is not event driven, so can be difficult for people who know only ASP.NET Web Forms to wrap their minds around it;
  • Third party libraries support is not that strong. Not to many companies write extensions for this framework what means more work for internal team;
  • Current version (1.0) requires some additional effort to reduce usage of magic strings to the minimum;

Opportunities:

  • Allows for Test Driven Development – it is build with TDD in mind, so it is much easier to write unit tests, mock objects and to intercept the program flow;

Threats:

  • Bigger ramp-up and training time is required for developers with no or little experience in web application development;

For the time being this is all what came up to my mind. If you have some other thought I will be grateful if you will share them with me.

Hey, keep in touch!! Follow me on Twitter, @marcinobel or subscribe to this blog.
1 Comment on ASP.NET MVC in a corporation – part #2

Respond | Trackback

  1. [...] to VoteASP.NET MVC in a corporation – part #2 (9/10/2009)Thursday, September 10, 2009 from Marcin ObelIn my previous post I have mentioned that I am [...]

Respond

Comments

Comments