<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1621132604871265&amp;ev=PageView&amp;noscript=1">

As programming matures and application development becomes more complex, developers need more than just an understanding of programming languages. They need to know the frameworks that make creating applications in these languages easier. 

A framework is a set of tools, classes, and functions that serves as the platform on which to build a full application. There’re some tasks that occur in every application: input, display rendering, error handling, for example.  Frameworks handle basics like these so developers can focus on solving the problems related to their specific domain. However, a framework is a broad term, so different frameworks will do different things. 

As a technical recruiter, you should be able to understand what frameworks are and which ones are the most common. If you’re familiar with the term, you probably know them as front-end JavaScript frameworks. As we’ll see, lots of programming languages have frameworks that simplify the development process.

The Top Ten Frameworks

Explore all technologies tagged on Stack Overflow in the free online tool. 

In the graph above, you can see the change in usage of tags on Stack Overflow for the ten frameworks mentioned below over about ten years. Frameworks rise and fall in popularity as new ones are created and old ones fall out of favor. 

Without further ado, here are ten of the more popular frameworks in use today. 

React

Facebook created and open sourced React in 2013, and it’s quickly grown in popularity since then. It’s built off of JavaScript and designed as a modular foundation for reusable UI components. By itself, React isn’t really a framework, but it has a huge ecosystem of helper libraries that provide greater functionality. There’s also React-Native, which compiles to native iOS and Android code, so app developers no longer need to create three separate front-end code bases.  

Angular

Angular (formerly AngularJS) came from a Google project. Unlike React, it gives developers a complete framework as a first-party library. The current version uses TypeScript (though JavaScript and Dart are supported), which is a superset of JavaScript. Previously, it was just JavaScript, but in order to address user requirements, they rebuilt the language from the ground up as of version 2. It’s incredibly popular because the all-in-one setup and strict syntax checking give developers lots of support tools and promote code consistency. With everything in one package, there’s no need to pull in third-party code with their potential vulnerabilities and legal pitfalls. But for some applications, this can be a huge negative, as the whole Angular framework can be a heavy lift if you don’t need all its functionality. Even with the version 2 redesign, Angular remains one of the most popular front-end frameworks and, thanks to Angular Universal, is making in-roads in back-end applications as well. 

Django

Django is an entirely Python-based web framework initially developed in 2003 by web programmers working at a newspaper in Kansas. Thanks to being free and open source, it’s enjoyed consistent popularity. It simplifies a lot of common web development tasks, including serializing data, caching, and authentication thanks to the modular design and mature ecosystem of components available. It covers the full stack of web development, but can be used as backend only if you prefer another front-end framework. 

Laravel

Laravel is a free open source PHP-based web framework created about eight years ago. It was initially based on Symfony and created to address the gaps in features creator Taylor Otwell found in the CodeIgniter framework. It provides advanced support for things like authentication, interacting with relational databases, and dependency management. With a modular packaging system and a ton of additional tools and applications supporting the ecosystem, Laravel provides a full stack framework designed to make development easier. 

Ruby on Rails

As one of the early back-end frameworks, Ruby on Rails influenced a lot of the web development technologies that followed it. Because of its early emergence, Ruby facilitated a great deal of the standard technologies that create the web—HTTP, JSON, CSS, JavaScript, etc.—and builds on the software development philosophies of CoC (convention over configuration) and DRY (don’t repeat yourself). Together, these mean that Ruby tries to define data models and application logic in only one place and only when that definition deviates from the norm. 

Vue.js

Depending on how much you want to adopt, Vue.js can serve as anything between a simple JavaScript library or a full front-end framework. This incremental adoption approach—designed as a response to the heavy lift required by AngularJS—means that applications needing only small portions of Vue functionality do not need to slow their application down by importing everything. But for those that want it, Vue and associated tooling can form the backbone of complex web applications. 

Spring

While most of the frameworks discussed here build off of web-first programming languages, Spring is a framework for Java, which can be used as part of a web application or a native desktop or mobile application. It manages low-level operations for complex applications like dependency injection, database interactions, and transaction management, while making it easier to modularize code with what’s called Aspect-Oriented Programming. While Spring can be used with any Java application, it’s included in back-end web applications frequently. 

Express

Express (or Express.js) operates as a web framework for Node.js, which is itself a runtime environment for JavaScript—that is, it runs JavaScript outside of a browser. It’s completely free and open source, and serves as the back-end part of the standard MEAN stack. Like a lot of modern frameworks, the core library is small, with much of the functionality handled by plugins. This flexibility and versatility has led to several frameworks building on top of Express, which is why it doesn’t rank higher in the graph above. 

ASP.NET 

Microsoft created and open-sourced ASP.NET as a way to create the successor to Active Server Pages (.asp). Instead of being built on a single language, ASP.NET runs on any language that uses .NET. As such, it makes it a strong back-end framework for companies running a Microsoft stack (like we do). Because it builds  off of compiled languages, it is fast and scalable.

Meteor

You may think the free and open-source JavaScript framework space is crowded enough already, but Meteor manages to make a dent in the rankings because it makes real-time applications easy to write, is a full-stack framework, and simplifies code reuse for mobile versions. It enables rapid prototypes and less code for an app, while making it simple to propagate code changes to all clients. Meteor may have had its fifteen minutes of fame, though, as frameworks come and go quickly these days. 

There are lots of other frameworks out there, as well as popular libraries that aren’t frameworks (hi jQuery!), so please don’t take this list as exhaustive. But it should give you a framework (pun intended) in discussing these with candidates and hiring managers. 

New call-to-action

Comments

Schedule a 15 minute call

Call +1-877-782-2577 or email careers@stackoverflow.com for answers to any questions you may have