SyntaxHighlighter

Friday, June 20, 2008

My thoughts on developement frameworks...

I have been in the IT industry for past 2 years,which is really a short period.
But still some how I feel ,whatever I have gained so far,I can share...
So started writting....
I have been working on Java and related technlogies and frameworks,I worked on Spring,iBatis,bit of hibernate,struts along with some custom frameworks (Refres to frameworks developed by individual organizations to meet there technical requirement) n toolkits....
When we say its a framework ,its actually a collection of usage patterns combined to hide the complexity from animal called developer or the framework implementor or user.

Whenver these developers (me too still a developer :)) use these frameworks,
Usually framework are made for generic purpose ,so often we need write configuration file
either XML or properties file
The framework must be supported by IDE plugins (Such as Spring IDE for Eclipse for Spring) otherwise writting a XML configuraton according to framework expectation requires expertise and experience on that framework, a begineer will struggle like anything.
Second thing is the exceptions shown by frameworks ,are mostly misleading.... :( ,thats what my experience ,as in If you mis-spelled some attribute in some configuration file but it will show you all other things apart from it.. and now debugging a framework becomes a challenge....
In my career ,I worked on couple of custom framweorks too... the experience with them is also not that satisfactory..., as frameworks I used , which was simple ,but developers need to write more lines of code for developing a functionality which can be devloped in less number of lines without using that framework .
So, I feel a framework must developed keeping in mind that the implementor need to as less LOC possible .One truth is that as many LOC ,that many defects you will inject...
So My idea of good developement framework is..
1.Configurable via XML, with IDE plugin support
2.Good exception handlling,pin point the actual error .....
3.Minimal LOC for implementors or framework users
4.Ease of deugging or catching misconfiguration
5.Clear and comprehensive API documentation

Many of the industry proven developement frameworks do provide support for points 1,3 ,5 but points 2,4 are still very much required for good developement framework...
I have all this in mind from long period, finally was able to free up my mind..
Thats it....m summing up :)