Software and Version
********************
ASP.NET MVC 5
Since we added an issue advocating for MVC 4, MVC 5 was released. By project
release date, this will be the de facto standard framework. Selecting MVC 3
would anchor us in dated technology, which would mean incurring technical debt
long before project release. Keeping up with the latest stable release is not
an investment, it is good practice.
Reason for change
*****************
- Motivation / benefits
Lifecycle support compliance. See also the Guidelines perspective below.
- "what´s the business case ?" - is it worth the investment?
Impacts
*******
- License cost: None
- Education: No significant difference from MVC 3
- Migration / adaption of existing software: N/A
- Risks - No significant difference from MVC 3
Does this replace some existing, already approved, software
***********************************************************
ASP.NET MVC 3
Earlier experiences of the suggested software
*********************************************
Not really, but this release is more of a fine-tuning of the technologies
(most notably Web API) introduced in MVC 4 (which our team is fairly
experienced in using.)
Viewed from the guidelines perspective:
-------------------------------------
* Well established and proven technology?
(Please see "business case" above)
* Easy to recruit developers with solid experience of the technology?
By our projected release date, it will likely be easier to recruit personnel
fluent in MVC 5 than for MVC 3. New adopters will turn to MVC 5, the community
as a whole is fairly quick to migrate to the latest stable release.
* "Average programmer complexity" - easy to adapt and learn?
No significant change from MVC 3.
* Expected long term durability
The MVC framework is likely to be around for many years to come, and this is
the latest stable release. MVC 5 (and 4) also contains bugfixes for bugs still
present in MVC 3.
In combination, this would make MVC 5 the durable choice over its predecessor.
* Avoid overlapping / redundant technology compared to what is already approved
within oppna-program
This is the recommended successor of MVC 3 and 4.
* The technology must support good software engineering practices
No detrimental change since previous version, if anything the change has been
for the better.
* Testability
Testability has improved, with better support for mocking HTTP contexts,
UrlHelper, ActionResults, (HttpContext - Mvc 4), Http request / response
contexts, reducing unit test complexity.
* Support for dependency management
Yes
* Continuous integration (e.g. solutions based on the technology must be
possible to build using CI-tooling)
No change from its predecessor
Beyond that, we'd like to add:
* Security:
- Much improved CORS support (method level instead of site level directives), translating to tighter security
- Global authentication => Simpler security model (white list instead of black list auth), reducing exposure and risk for human errors
* Maintainability
- OWIN support, allowing ASP.NET to be contained in any Windows service => code reuse, fewer technologies required (that Windows service now speaks HTTP). This means all of the above arguments are revisited for Windows services as well.
Original issue reported on code.google.com by niklasen...@gmail.com on 31 Oct 2013 at 7:51
Original issue reported on code.google.com by
niklasen...@gmail.com
on 31 Oct 2013 at 7:51