What is a Web Framework?
Simply, a web framework is a software resource aimed at supporting application development. Including everything from libraries and web APIs to external resources, these tools are critical to enabling developers to rapidly build, deploy, and maintain effective web apps.
For the developer, a primary role the framework plays is in taking care of the mundane plumbing, boilerplate code, and architecture essentials in a software solution. A high-quality framework will provide these elements to a project with reliability and performance already built-in.
The two types of web app frameworks we typically see today are split into those that are opinionated and those that are unopinionated.
An opinionated framework is one that provides everything necessary to take an application from initial idea through to deployment and maintenance. Opinionated frameworks are typically prescriptive about the way things are done, enabling greater speed of development at the cost of reduced flexibility and fewer customizations.
An unopinionated framework, in comparison, leaves more room for developer implementation, custom use-cases, and creativity in deployment. For example, a micro framework might only provide routing for its apps and not much else, leaving the developer free to implement the remainder of the app however they like.
In many cases, multiple unopinionated frameworks may be used in conjunction to provide the necessary functionality to build a fully featured web app.
To help understand key technologies and frameworks used for making web apps, we’ve collected together web framework benchmarks for today’s most popular and productive front and back-end frameworks.