I was asked to write an article about application framework which we composed last months for buildign the web applications and I’d like to share my ideas, vision with you. I wrote “composed” because we didnt developed it from scrach but we tried to find possible solutions, connect and extedn them. It’ll be series of articles which will be published next days, so let’s start.
I work on the web applications last 10 years (I came from JSP world to ASP.NET) and my view how to build web apps changed quite much. I added more and more requirements to the bag what the perfect web application framework should offer.
- easy to use: it should be quite easy to learn and use the framework in order to build simple web apps. It should be also robust to build also enterprise web apps. This group of the apps will require deeper understanding of the framework which is quite normal and understandable.
- easy to extend: it should be possible to add there new features, it should be quite open and prepared for the future extensions, enhancements.
- it should have large community of the developers behind the scene. This community of developers should create new versions, enhancements, support for the frameworkt, etc.
- comprehensive documentation source: I think the framework without good documentation is dead framework.
- supporting testing mechanisms: to be developed with a focus on testing in order to support test driven development (TDD).
Btw, the requirements like clean architecture, offering scalability, etc. are must.
There are quite many frameworks on the market now. Some of theme are also opensource frameworks, others are developed as in-house frameworks. When you work on the business driven projects, you are still under the presure to deliver the functionality asap. There is no time to think about any frameworks quite often – just work, deliver the project. In such cases you use the standard ASP.NET like MS teach us. I met quite many developers who are in such situation – at least in our company. When I talk to them about MVP, TDD, O/R mappers and other “patterns” they are quite surprised that it exists, that there are also different views on the bulding web applications.
This inspired me to find a solution which we could use which fullfils the above mentioned requirements.
In the next posts I’d like to compare the frameworks like standard ASP.NET, ASP.NET MVC, Spring.NET for web, WCSF.
Then I’ll try to explain our solution with focus on the patterns like MVP, IoC, Factory; Behavior driven development, etc.
To be continued …