by Arlene Minkiewicz
| September 24, 2014
When software developers first starting writing programs for the Windows ® Operating System it wasn’t pretty. Everything had to be done from scratch – there was no easy access to tools, libraries and drivers to facilitate development. A similar tale can be told by the earliest web site developers. A web application framework is an SDK (Software Development Kit) for web developers. It is intended to support the development of web services, web applications and dynamic websites. The framework is intended to increase web development productivity by offering libraries of functionality common to many web applications. In the early days web development was done in HTML with CGI (Common Gateway Interface) making it possible to create dynamic content. As websites became more pervasive, in fact in many cases they quickly became critical to the success of a business, new languages were developed specifically for web development such as PHP and Cold Fusion.
Web application frameworks are merely the next generation of web development. Instead of being just a compiler, the web application framework gathers libraries of functionality useful for web development into a single environment – offering developers one stop shopping for the tools they need to develop applications for the web. There are many different web application frameworks for many different web development languages. Some examples include JavaEE, Open ACS, Catalyst, Ruby On Rails and Symfony
Web application frameworks offer a variety of features intended to increase productivity of the web application development process. Not all frameworks contain all of these features –  contains a fairly comprehensive analysis of which frameworks offer which features for many popular programming languages. The most common features of a web application framework include:
Web applications frameworks are intended to increase the productivity of those folks who build websites. Other potential benefits include:
Some or all of these features and benefits are realizable depending on the specific web application framework employed. As with all advances in technology, there is necessarily an investment in not only the technology but more importantly in training and education. It is not realistic to expect immediate payoff until developers move down the learning curve with the technology.
As always, it is wise to remember the lessons of Fred Bookes in "The Mythical Man Month" that there are no silver bullets. While Web Application Frameworks features of enhanced tools and libraries will increase the productivity with which code is delivered, these remain the accidental complexities of software engineering; the essential complexity of crafting a software solution to a problem is not going away.