What a decade it has been for JavaScript. In 2009, jQuery was the extent of most devs' JS knowledge. Today, JavaScript is one of the most demanded programming languages in the market.
We didn't get here easily though. We spent a decade flying through the asteroid field that is the JavaScript ecosystem, with its chaos and its endless iterations, and emerged with (relatively) reliable and well-supported frameworks and libraries, like React and Node, that power most modern web apps.
To put it simply, JavaScript is unavoidable nowadays, and the Stack Overflow and State of JavaScript surveys indicate that the language won't stop growing any time soon.
But if the 2010s have really been the decade of JavaScript, how will the JavaScript ecosystem evolve in 2020? That's what this article covers. Use it to better understand which frameworks, libraries, and trends are worth spending your time on. And if you want more context, check out our 2018 and 2019 articles on the same topic.
If the 2010s were the decade of JavaScript, then 2019 was arguably the year of TypeScript. The superset of JavaScript was chosen as the third-most loved language in the Stack Overflow survey (behind Rust and Python) and many more developers have started using it when compared to 2018.
In 2018, I wrote about Flow as a possible alternative to TypeScript. At the beginning of 2019, Facebook moved Jest from Flow to TypeScript, which wasn't a great sign. While Flow is still supported by the Facebook team, it doesn't seem to be very popular anymore.
TypeScript's popularity, on the other hand, is quite evident in RedMonk's Top 20 Languages Over Time, where it has kept on climbing the ranks and has entered the top 10 for the first time in its history. Expect TypeScript to be used in an increasing number of applications.
I'm repeating myself, because I've said this in my 2018 and 2019 articles too, but React was and still is the most popular JavaScript library after jQuery. This is reflected in both the Stack Overflow and the State of JS surveys.
As such, if you're looking for a technology to build dynamic and reactive user interfaces, React is still the way to go. You'll be in good company too, as the library is used by the BBC, Pinterest, WhatsApp, Reddit, etc. Oh, and some little website called Facebook still uses it, too 😉.
The above section on React isn't meant to discard Vue. The framework is still a great way to quickly and easily write lightweight applications. It's easier to learn than React and it has a vibrant community that is growing rapidly.
Additionally, many X-Teamers are excited for the upcoming release of Vue 3 and we continue to see slow increases in demand for Vue.js developers, something we predicted two years ago already.
Go visit facebook.com or twitter.com on your mobile and marvel at how good these Progressive Web Apps (PWAs) have become. It's almost the same experience as their respective native mobile apps.
As PWAs grow more capable and people will revert to visiting a PWA instead of downloading a native app, web components will inevitably grow in popularity too. This makes sense, as web components are a lot smaller than a typical UI component and require no additional runtime (because they run entirely in the browser).
Additionally, the fact that web components rely on JavaScript is less of an issue now that JavaScript has become so popular. And web components work across any JS framework or library. Indeed, a single UI library that works across all development projects will soon look very, very tasty to many Fortune 500 companies.
For example, when Apple launched the beta of its Apple Music web client in September 2019, developers quickly noted that it was built with the Ember framework and a whole host of web components (through the Stencil.js toolchain). Expect more big companies to follow suit in 2020.
The JavaScript community loves a new technology. While the "next big thing" hype in the JS ecosystem has died off somewhat over the last few years, it's always been tricky to know what's genuinely worth exploring.
Svelte is one of the few newcomers that's worth a look. It's a component-based JavaScript UI framework that generates code to manipulate the DOM for better client run-time performance. X-Teamers have been experimenting with Svelte and have enjoyed it quite a bit so far.
In the State of JS survey, developers indicated that Svelte was the number one framework they were interested in learning. It was also the framework they were second-most satisfied with (after React). Svelte even received the State of JS Prediction Award, as the up-and-coming technology that might take over.
Make sure it's on your list of new tech to look at in 2020.
GraphQL is another technology that shows no sign of slowing down. It's now firmly established as the #1 query language that developers are most satisfied with and that they're most interested in learning, to the point where it received the State of JS Highest Interest Award.
While REST won't go away as the de facto standard for APIs any time soon, and will likely continue being better in certain use cases, you should look into GraphQL if you want to quickly and efficiently fetch data.
Did I miss a trend you think is important? Let me know in the comments below!
Already know all of this? Then we'd love to have you in the X-Team community. Apply here.