In this post, I cover three popular frameworks — React, Ember and jQuery — and dive into their latest happenings.
What is React? Should I Use It?
"React is very popular and will likely continue to be now that Facebook has resolved the licensing controversy. It has become the first choice alternative to Angular and only continues to gain traction." (From Tech trends to watch in 2018)
React, unlike Angular, is not a framework, but rather a library. React is a JS library for building UI on web apps. It provides a declarative method of defining UI components, which as they claim:
Declarative views make your code more predictable and easier to debug.
They also enforce component-based architecture. An encapsulated component in React should manage its own state and multiple components can be combined in your quest to build your app's UI. Below is a handy chart that compares some features of React vs. Angular.
||JS into HTML
||Good JS/Good HTML
||Good JS/Bad HTML
|Debug Line NO
|Unclosed Tag Mentioned?
||In TypeScript Files
||In JSX Files
||View Layer Only
Source: Angular 2 vs React. What to Chose in 2017?
Updates to React
In September, the React team announced the release of React v16.0 (and as noted above, have since advanced further)! Some long requested features/changes made it into the v16.0 release, including improved server-side rendering, error boundaries, support for custom DOM attributes and fragments.
With the new return types for fragments and strings, you can now return an array of elements from a component's render method. Like with other arrays, you'll need to add a key to each element to avoid the key warning.
Stack Overflow Annual Developer Survey
Editor's Note: This section has been updated to reflect the latest survey results from Stack Overflow.
On the Stack Overflow Annual Developer Survey for the past couple of years, React has scored incredibly high on the list of "most loved frameworks, libraries, and other technologies". For example, in the 2017 survey, it was ranked first (66.9%):
Source: Most Loved, Dreaded, and Wanted Frameworks, Libraries and Other Technologies, Stack Overflow Developer Survey 2017
And in the 2018 survey, React ranked second overall (69.4%):
Source: Most Loved, Dreaded, and Wanted Frameworks, Libraries, and Tools, Stack Overflow Developer Survey 2018
On npm trends, React is the most downloaded module, when compared to Ember, Angular, React, Vue, and Backbone:
Source: angular vs ember-source vs react vs vue vs backbone, npm trends
￼Ember. What can you say about Ember? I used Google Trends to generate some data on the four top runner Frameworks and got this glorious chart below. Ember is that little green line that seems to be flatlining there at the bottom. From React, Angular, Vue, Ember, AngularJS on Google Trends:
Now that chart doesn't do a whole lot for me, other than showing Ember as a dead thing, which we all knew. Just kidding! Please don't send Tomster after me. So, I decided to turn it into a nifty pie chart (exported said data into Excel), that might help shed more light on the situation:
There really is no one way to know which frameworks are doing the best. This is just one peek into the enigma that is the web dev world. However, just going off of this pie chart, it still looks like Angular is on top, followed by React. Whereas Ember doesn't even get a piece, its dataset is THAT small. Other surveys (see earlier) don't show Ember doing too well either. This does not mean that developers are done using Ember, it just means that the survey-taking-type devs are not in love with Ember right now. That's the thing about surveys, they only shed light on the part of the demographic willing to take them.
Get a list of 31,099 websites using Ember which includes location information, hosting data, contact details, 15,116 currently live websites and 15,983 sites that used this technology previously.
31k sites. Not too shabby! Even if the framework is trending downward...
"One of the problems with Ember is that it targets a different type of developer, different from any other target demographic. It targets people who like Python, Rails or CoffeeScript. Ember is a different way of writing code. It's very structured, there's a way to do everything, everything is standardized — all things that are abnormal to JS devs. People like the freedom of JS, with Ember, you cannot break the rules."
Front-end Web Developer
So, after interviewing him on his love of Ember, I understand a little more why it might be trending downward (at least on the scales we have to measure it today). I predict that Ember, like Angular, isn't going anywhere. Whether or not it's popular in 2018, I can't say, but it will still be one of the forerunner frameworks.
Much of the Web Still Runs on jQuery
In March 2017, 3.2.1 was released with bug fixes like this fella:
Ensure we get proper values for width and height on elements with display "inline".
Source: (Now More Than Ever) You Might Not Need jQuery by Ollie Williams
However, as a friend of mine likes to say "you might wanna take that with a bucket of salt", especially since jQuery has been around since the dawn of time. It would be very hard to imagine anything overthrowing that dynasty, anytime soon.