TOP 10 Most Popular Technologies
Programming, Scripting, and Markup Languages
- JavaScrip 67.8%
- HTML/CSS 63.5%
- SQL 54.4%
- Python 41.7%
- Java 41.1%
- Bash/Shell/PowerShell 36.6%
- C# 31.0%
- PHP 26.4%
- C++ 23.5%
- TypeScript 21.2%
- C 20.6%
source: StackOverflow Survey
One of the main causes of this is the general trend of moving backend developers into frontend and the shift from server-side to client-side web applications.
Framework vs library
A framework is the skeleton of an application. It provides both particular, ready-to-use elements (like libraries and scripts) and a general pattern of how one should use them.
A library is a set of functions that an application can call to perform a particular task.
What are the most popular JS frameworks in 2019?
Google has a direct answer for this question but it does not help much, because the list of the most popular frameworks is constantly changing. Stack Overflow Trends analyzes how often each of these technologies is asked about over time, and the results are confusing.
Although jQuery is commonly considered a library, the data strongly shows that the interests of programmers are not written in stone and – to keep up with them – it is necessary to track trends from their very beginnings.
For now, Svelte might be rarely used but as it makes building apps noticeably easier, it might eventually gain popularity and one day defeat React, Angular or Vue.
Counter component example in Vue.js framework
But does that mean Vue is the current throne-holder? Certainly yes, when it comes to accessibility. This relatively new framework was developed in 2014 but in just a year and half, it has become a standard. It is used by tech giants like Alibaba, Baidu and Tencent which proved Vue to be stable and reliable. In addition, Vue is commonly seen as the easiest to learn and most convenient to use because of going back to its JS roots.
Furthermore, it has very detailed documentation and a community happy to share its knowledge. This considerably flattens the learning curve for developers new to Vue, making the technology a great fit for projects of basically any kind.
Vue – which is tiny by itself – is perfect for building single-page applications but it suits more complex implementations just as well. Internal elements can be integrated into the infrastructure without harming performance.
Counter component example in Angular framework
Angular is the most demanding and difficult JS framework but it is also great for enterprise projects. It gives you a whole ecosystem of tools, features, and possibilities. Its architecture (especially TypeScript) enforces good code quality which is useful for large teams because you omit a lot of typical developers’ errors. But since you get a lot out of the box from Angular, some developers complain about limited flexibility.
With Angular, there is no need to rely on third-party libraries to build complex, dynamic applications – it provides almost everything you need and most likely more but the implementation needs to be done in an Angular-specific way.
The Angular community is broad but because of the nature of Angular projects (mostly enterprise projects which require NDAs), it is not so open to sharing its know-how. With limited sources of knowledge, Angular can be quite challenging for beginners.
Counter component example in React framework
The main advantage of React was, however, its virtual DOM implementation. It is React’s local copy of HTML DOM that, by locally comparing elements, allows React libraries to render only actually changed components and save time by avoiding many unnecessary operations.
Nowadays React is the most popular JS framework around, used by Facebook, Netflix, Yahoo, Codecademy, Dropbox, Airbnb, Asana, Microsoft, Slack and many more. Thanks to the extremely vivid community gathered around React, its learning curve is quite gentle. However, mixing visual elements with logic (JSX) may be confusing and the (unquestionable) flexibility of React is sometimes a challenge – when there are many solutions to one problem it is difficult to choose the best one.
Counter component example in Ember.js framework
Ember.js, “a framework for ambitious developers”, was introduced in 2015 and quickly gained popularity. It is a full-featured framework often compared with Angular. It is used to develop dynamic single-page web applications, desktop, and mobile apps.
One of its advantages is comprehensible best practices that allow developers to focus more on creating unique functionality, rather than writing tedious code. That was the main goal for Ember’s founders who were looking for a way to boost developers’ productivity.
Counter module example in Node.js
Node.js is used by GoDaddy, Groupon, IBM, LinkedIn, Microsoft, Netflix, PayPal and many more.
Counter component example in Polymer framework
Polymer is used by YouTube, YouTube Gaming, Google Earth, Google Play Music, Electronics Arts, Coca-Cola, McDonald’s and General Electric.
Counter component example in Aurelia framework
It is considered one of the faster rendering frameworks and its architecture ensures that it can be used for client-side and server-side at the same time.
Counter component example in Backbone framework
Backbone.js was built using the RESTful JSON interface and is based on the Model-View-Presenter (MVP) pattern.
Mithril is a UI JS framework that is mainly used for developing single page applications. It is small (< 8kb gzip), easy to implement, fast, and provides routing and XHR utilities out of the box. This framework might be a good option for those who like working with React since it has a few similar features.
Mithril is used by Vimeo, Nike, Fitbit, and other open-source platforms like Lichess or Flarum.
A few years ago, Meteor was considered a game-changer. Today, its fame seems to have faded away but this framework still has a lot to offer. It is easy to learn, flexible, and quick to build with. It is a good choice for those developers who are looking for a JS framework to build real-time applications.