Speed-Up Software Development : Framework-Driven Development
Many software developers today are still using the old way of "write your own code" strategy. Although it may seem right for a developer's perspective in terms of skill enhancement and originality, when it comes to developing large-scale applications on a tight deadline, this may not seem to be the best approach.
Right now, many software development companies are adopting the so-called "Framework-Driven Development". This is a strategy of using pre-coded "frameworks" to speed up the development of a certain application.
As defined in Wikipedia:
A Software Framework is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality.Frameworks are similar to software libraries in that they are reusable abstractions of code wrapped in a well-defined API.
Frameworks emphasize on the notion of "Write less, do more".
Commonly used frameworks today are as follows:
- Struts / Struts 2
- Google Web Toolkit
- Zend Framework
These frameworks abstract commonly used software functionality requirements such as database connection and CRUD operations, validations, error-handling, configuration etc.
By using frameworks, most of the repetitive tasks are easily handled so that developers can focus more on the business logic of the system. Also, most of the popular frameworks are designed using solid Object-Oriented techniques and design patterns which ensures that your code are well structured and conforms with certain level of software standards.
The only problem I find with using Frameworks is that developers who are just starting-out will find it hard to use frameworks as it requires a descent level of understanding of various OOP principles. But overall, for most developers out there who are aiming to "deploy more" in less time, frameworks are the best choice.
Right now I am developing an application framework for Visual Studio 2008 focusing on SQlite and MySQL Database. I think i would be able to finish it by next week and I am planning to share it with you on my next post.
Feel free to post your comments. Till my next post, God Bless..