A web application framework is a type of software framework that supports the development of dynamic websites, web services, and web applications. The purpose of this type of framework is to enable developers to build web applications and focus on the interesting stuff, alleviating the repetitive overhead associated with common Web development patterns. The types of core functionality common to most web application frameworks include templating systems, user session management, common interfaces to disk or database storage of cached content, and data persistence.
Typically, web application frameworks also promote reusability and pluggability of components, as well as promoting code reuse, and libraries for database access. There is a wide range of web application frameworks available for Linux that are released under an open source license. To provide an insight into the software that is available, we have compiled a list of 10 high quality web application frameworks. We have selected frameworks that cover a number of programming languages including Ruby, PHP, and Python.