The Sixteen Most Popular Web Development Frameworks for Developers

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Create a Linode account to try this guide with a $ credit.
This credit will be applied to any valid services used during your first  days.

Internet use is through web applications, and nearly all web applications are built with the aid of web frameworks. Programmers, testers, product managers, and everyone else involved in the research, and development of practical Internet applications need to understand the web framework marketplace.

What Is a Web Framework?

A web framework is a software framework designed to simplify the web development process and make building websites easier. It can be thought of as a pre-built structure that can handle the more repetitive processes and functions involved in developing a website.

Web Dialogue: Browser and Server, Request and Response

The internet’s fundamental task is to deliver web pages to you from your web browser. A prototypical sequence is:

  • Launch a web browser (Firefox, Chrome, Safari, Edge, etc).
  • Enter a Uniform Resource Locator (URL), such as https://www.akamai.com/.
  • The browser converts the URL into a network request to a web server.
  • The web server responds to the request with a web page, which is received by the browser.
  • The browser renders and makes it visible in a display window.

Browsers Are Standardized

The leading browsers’ actions and capabilities are more-or-less standardized. Most of the work of web application programming consists of the construction of suitable web servers to engage in desired dialogues.

In the early 1990s, programmers built web servers “on their own”, from low-level operating system services. Today, it’s unusual to build a web server in isolation. Most web application programming leverages web libraries that operate as “higher-level” interfaces to the fundamental request-response dialogue. Web libraries, for example, typically build in the capability to decode a request such as https://www.akamai.com/ into constituent parts, and other interfaces that help put together a well-formatted response.

Library vs Framework

The term “web framework” has at least a couple of closely-related meanings related to these libraries. For some practitioners, “framework” is a comprehensive bundle of libraries that address the different types of programming a web application. “Framework” is just a library that’s big enough to make programming feasible. Usually though, “framework” is reserved for a particular “inside-out” architecture. The first web applications required a programmer to program server responses, perhaps in reliance on specialized libraries for networking, authentication, form management, and so on. Contemporarily, the programmer writes the web application and chooses the libraries.

By contrast, a narrow-sense “framework” is the application. The framework itself launches as the web server. Libraries are only useful when invoked by an application. A framework already acts as a recognizable web server “out of the box”. Everything you implement to give concrete functionality fits within the framework as a customization or configuration.

Program the Server vs Program the Server and the Browser

When the web was first invented, the request-response-display model of browser operation was already present and familiar. Over the last quarter-century, browsers have increasingly gained their own programmability. The original model of web application required that an application that needs to compute 2 + 2, must send 2 + 2 or some equivalent from the browser to the server, where the server calculates “4”, and returns “4” as part of a response. Newer browsers can make such calculations locally, on your desktop, usually in JavaScript. Applications put together this way rely less on the dialogue between browser and server, and involve programming of both browser and server.

All web frameworks have a server-side component. Several of the web frameworks in the list below are purely server-side and leave browser programming to other tools. About half of the frameworks assume and support programming on both server and browser. Some practitioners talk about front-end frameworks or web 2.0 or rich internet application frameworks. Notice that front-end framework nearly always is elliptic for front-end and back-end frameworks or full-stack frameworks, because all web dialogues must have a web server. Compounding the difficulty, different commentators variously use “web 2.0” as a technical distinction, a description of a business model, or to underline the social aspect of social media.

In casual use, a web application framework is often understood as a back-end web application framework, while a front-end web framework usually means a web framework with both front-end, and back-end components.

Make sure when analyzing web frameworks that you know what your sources mean by various terms.

MVC, SPA, and PWA

Three more terms that often arise in consideration of web applications are the model-view-controller (MVC) model, single-page application (SPA), and progressive web application (PWA). MVC is a pattern for programming that emphasizes a division of labor between, for instance, data, and the actions on those data. Programming not based on MVC might be described in terms of the MVC vocabulary.

SPA is an architecture for website construction. SPA is beyond the scope of this guide, but a few highlights are germane to the comparisons below:

  • SPA emphasizes interface interactivity. When a user starts to type in a search term, SPAs like to suggest possible matches after receiving partial entries.
  • SPA is a choice. Good web applications exist which are SPAs, and other good ones are not. Non-SPAs can bring many of SPAs advantages with other technologies.
  • SPA capabilities differentiate web frameworks. Some web frameworks are full-time SPAs; some provide no SPA support at all.

PWA is also an architecture for website construction. It gives web applications many of the most desirable features of native applications, but otherwise also outside the scope of this list.

Benefits and Drawbacks of Web Frameworks

Programming with higher-level abstractions is more productive than working entirely from scratch. You might deploy a single line from a web library that represents several hundred lines of implementation. When you use standard facilities for authentication, formatting, and reporting, it significantly slashes the time it takes to write common applications. Standard facilities also provide conventional functionality. Which parts of a web application are case-sensitive and which parts are case-insensitive? Does the application handle characters outside the Latin alphabet correctly? Can the end-user use the Undo feature? Using a web framework makes it more likely that the application under construction behaves in ways that are familiar to users of other applications built with similar frameworks.

Relying on a web framework also has a few disadvantages. A web framework is a dependency. Analyze its licensing fees, restrictions, support availability, security vulnerabilities, maintenance requirements, performance constraints, and even cultural fit. An all-JavaScript web framework might be uncomfortable for an organization accustomed to working in Python, or vice-versa.

Yet another peculiarity of the framework marketplace is that the largest consumers determine culture and road map. For example, on a purely technical basis, React is a front-end library, not a framework. It’s widely known that Facebook developed and uses React, so the profession at large discusses React as a framework. Facebook practices are generally treated as best React practices, and React is an exceedingly popular résumé keyword.

We don’t have precise measurements on which frameworks are most widely used. Surveys of varying ambition provide the best information available; the 2022 Stack Overflow Developer Survey is an example. The list below combines the results of several such investigations.

The personal judgment goes into this list–jQuery, for example, is excluded as only a library, even though it is probably used more widely than any of the frameworks below. Similarly, while Drupal can be regarded as a web framework, most use of Drupal is as a content manager, so it doesn’t appear in the list.

Popularity and quality are two different quantifiers. Each has superior circumstances, so you should consider the situations which favor each web framework and apply them to your situation.

Angular 4

Google maintains Angular as a SPA web framework written in TypeScript. Angular development can be in either TypeScript or JavaScript, or even alternatives such as Dart. Angular supports PWA and mobile development as well as the traditional web. Angular is structured in terms of components and directives rather than MVC. Angular improves on AngularJS in several aspects that promote project management; it builds in a command-line interface tool, for example. Gmail is an Angular application.

AngularJS

AngularJS is an ancestor of Angular 4 based on JavaScript-coded MVC. Google maintained this as well. Although the support for AngularJS has officially ended as of January 2022, it remains in widespread use. JetBlue and Paypal are examples of high-volume, high-profile sites based on AngularJS.

ASP.NET Core

ASP.NET Core is a prominent open-source and portable web framework. While Microsoft supports ASP.NET, the framework is available for environments beyond Windows including MacOS, Linus, and Docker. Along with Microsoft products, ASP.NET hosts a variety of web servers including NGINX and Apache. Both client-side and server-side logic can be written with .NET; in particular, it’s possible to program clients with C# rather than JavaScript.

Among ASP.NET’s virtues is high performance. ASP.NET frames several of the most well-known websites, including Microsoft’s own, GoDaddy, StackOverflow, Dell, and the US Government’s Small Business Administration.

Backbone.js

Backbone is an MVC framework. While Backbone is often used for SPA, it also permits more conventional multiple-page applications. The WP-AppKit plugin gives Backbone progressive web application (PWA) capabilities. Backbone supports JavaScript on the front end and a variety of back-end technologies. Prominent uses of Backbone include the corporate sites for Hulu, US Today, Pandora, and Trello.

CodeIgniter

CodeIgniter is a backend MVC framework. It exposes PHP as the preferred language for application development and also supports the easy construction of REST APIs. As is common with PHP technologies, CodeIgniter builds in good database support, and loads quickly: all of CodeIgniter loads into a fresh process in a small fraction of a second, even with mediocre hardware. CodeIgniter documentation is extensive. The McClatchy newspaper chain is an example of an organization that uses CodeIgniter for its corporate website.

Django

Django is a well-known server-side web framework written in Python. Flagship Django-based websites that handle billions of monthly active users include YouTube, Instagram, BitBucket, the New York Times, DropBox, Pinterest, and Mozilla.

Ember.js

Ember.js is a full-stack MVC SPA JavaScript framework. Its profile is similar to those of Backbone.js and AngularJS. Ember.js’s reputation is a bit “heavy”; it occupies a lot of computing memory and is large enough conceptually to be a challenge to learn. Ember.js supports code reuse and a relatively rich ecosystem of third-party libraries. LinkedIn is a well-known Ember.js-based website.

Express.js

Express.js is a full-stack MVC web framework based on Node.js: programming is in JavaScript on both the front and back end. Express.js emphasizes flexibility; successful SPA and multi-page projects are based on Express.js. Express.js itself is a component of such frameworks as MERN and MEAN.

Gatsby

Gatsby is based on React and therefore is an MVC-oriented full-stack JavaScript framework. Gatsby is among the youngest frameworks on this list and is particularly tuned to static site generation. Most Recommended Books is an example of a site built with Gatsby.

Laravel

Laravel is a back-end MVC web framework written in PHP. It is known for its rich collection of support documentation. Laravel’s performance is believed to lag behind such competitors as Django and Express.js. Among the roughly million websites worldwide based on Laravel is the trading market research platform Barchart.

MeteorJS

MeteorJS is like most other JavaScript-based full-stack web frameworks in its MVC architecture, ability to program both client and server in the same language, and an active community of helpful fellow users. MeteorJS emphasizes both real-time performance and ease of use in the sense of programmer productivity. Among its built-in capabilities are conveniences to allow users to register with their accounts from Google or Facebook or other popular services. It integrates front-end assets like LESS, Bootstrap, and D3.js.

Play

Play provides MVC like nearly all these frameworks, but unlike any other, it is written in Scala, and most often programmed in Scala, or Java. Play answers the questions an enterprise-grade web framework needs to address. It integrates support for the Selenium and JUnit testing facilities, as well as full REST capabilities, including asynchronous I/O. HuffPost and Coursera use the Play Framework.

Rails

Ruby on Rails has been influential over the last two decades. Beginning developers early in this millennium often believed that Rails defined the server-side MVC web framework, or that the Ruby programming language existed only to write web pages. While neither of these is true, Rails remains a leader in new development. Celebrated websites running on Rails include GitHub, AirBnb, Hulu, Shopify, and Twitch.

React.js

Like Angular and AngularJS, React.js is more of an MVC library than a framework. Facebook sponsors React.js. Its use is widespread in the development of web applications, making such sites as Netflix, Zapier, and Asana possible.

Spring MVC

Spring MVC is the most popular web framework which extends the Spring Java Enterprise Edition platform to the web. Dave Ramsey’s EveryDollar combines Spring MVC on the back end with ReactJS for browser-side programming, and thousands of other organizations leverage their enterprise programming with Spring MVC.

Vue.js

Vue.js brands itself as “The Progressive JavaScript Framework”, and provides an MVVM, rather than MVC, architecture. Vue.js’ use in GitLab, Chess.com, and, rather provocatively, the official Laravel website, attests to Vue.js’s ability to handle high volumes.

Conclusion

Modern web frameworks make feature-rich web applications possible. The profiles above likely include at least one good match for your next project.

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

This page was originally published on


Your Feedback Is Important

Let us know if this guide was helpful to you.


Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.
The Disqus commenting system for Linode Docs requires the acceptance of Functional Cookies, which allow us to analyze site usage so we can measure and improve performance. To view and create comments for this article, please update your Cookie Preferences on this website and refresh this web page. Please note: You must have JavaScript enabled in your browser.