BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles JavaScript and Web Development InfoQ Trends Report

JavaScript and Web Development InfoQ Trends Report

This item in japanese

Key Takeaways

  • The rate of new JavaScript, CSS, HTML, and WebAssembly standards is accelerating to cover all facets of modern application development.
  • TypeScript has had a dramatic rise in popularity, now in the top 10 most popular programming languages on GitHub, with many frameworks and libraries covered by InfoQ making the switch this year.
  • WebVR/WebXR and machine learning and pushing the drive towards better 3D rendering and data visualizations
  • React adoption has greatly increased, but a new wave of frameworks are gaining significant usage including Vue.js
  • A wide range of options for applications, from Progressive Web Apps, to hybrids like Electron, Ionic, and Cordova, to full native compilers like React Native and NativeScript and providing increasing flexibility for creating competitive applications using web technologies.

At InfoQ we periodically update our topics graph to show where we think different topics are in the technology adoption curve.  When we do so, we consider the state of practice, emerging ideas and things we hear within our network and at meetups, conferences, analyst events, etc. We also take into account traffic patterns on the site and attendance at sessions at QCon and other industry conferences.

If a topic is on the right-hand part of the graph, you will probably find lots of existing content on InfoQ about it – we covered it when it was new, and the lessons learned by the innovators and early adopters are available to help guide individuals, teams and organizations as they adopt these ideas and practices.

The topics on the left-hand side of the curve are the ones we see as emerging now, being used by the innovators and early adopters, and we focus our reporting and content on bringing these ideas to our readers’ attention so they can decide for themselves whether they should be exploring them now, or waiting to see how they unfold.

This month we’re looking at JavaScript and Web Development as this rapidly changing industry requires an update more than once a year.  This is how the graph looked for us in Q1 of 2018, when we last reviewed it.

And this is the revised version from Q4 of 2018

The web development space is always an interesting one for us, with new JavaScript frameworks launched almost daily. Trying to decide which ones to focus on and which ones to ignore is particularly challenging. Developers can learn and gather inspiration from interesting approaches even if they do not currently use them in their daily development efforts.

Innovators

Looking at the trends from the last few months, interest in WebAssembly continues to grow as browser vendors move beyond the minimum viable version and strive to improve performance and fill gaps.

CSS Houdini has led to a flurry of activity in the realm of CSS, and tools like PostCSS are challenging incumbent CSS preprocessors like SASS, LESS, and Stylus. CSS Houdini is an area which we’re continuing to follow with interest.

Deno is a new project from the original creator of Node.js, authored in TypeScript, which attempts to resolve the challenges with Node.js. It's a very early stage project but shows significant promise.

Dojo, one of the original JavaScript toolkits dating back to 2004, released version 2 this year (and subsequently versions 3 and 4!).  This represents a major rewrite using TypeScript, that turns Dojo into a modern, reactive, standards-aligned, virtual DOM-based framework.  The new version exhibits significant performance and developer ergonomic improvements over its peers but is very early in its adoption cycle.

TensorFlow.js has emerged as the foundational library for JavaScript-based machine learning. We track this library as well as projects leveraging it to advance the state of machine learning with JavaScript.

Early Adopters

Looking at our early adopters, we continue to track Flow, a static type checker for JavaScript, and Elm, an alternative language to JavaScript for generating JavaScript-based web apps.

We have promoted a few technologies to this category since our last report due to increased industry uptake:

  • GraphQL continues to be a trend we follow, with several established libraries including Apollo, Vulcan.js, and urql.
  • ECMAScript 2018 is now final, and work is well underway for the 2019 edition.
  • WebVR and its future replacement WebXR provide virtual, augmented, and mixed reality capabilities with HTML, CSS, and JavaScript. There is significant churn currently as the standard broadens from VR to XR, but there is substantial interest in this space within the browser and JavaScript. Libraries such as A-Frame and React 360 have gained popularity by leveraging Three.js.

We have added a few early adopters as well:

Like Elm, Reason is yet another alternative to JavaScript, also offering type safety and streamlined transpilation to JavaScript.

WICG, the W3C’s Web Platform Incubator Community Group, has been working to bring a wide variety of useful standards to fruition, ranging from finalized standards like Intersection Observer and Resize Observer, to more experimental techniques like picture-in-picture and WebUSB.

Web components have evolved over the past few years and are now supported natively in Chrome and Firefox, with partial support in Safari, and efforts underway in Edge. Numerous frameworks and libraries also support web components natively including Angular, Dojo, Ionic, Stencil, Svelte, and Vue.js

CSS Next encompasses a collection of CSS improvements evolving through the standards process, many of which may be used today with PostCSS or CSS Houdini.

Ionic 4 is currently in beta and has undergone a substantial change to decouple itself from specific frameworks like Angular and focuses on aligning with modern standards.

NativeScript provides Angular and Vue.js users with native compilation options for deploying mobile applications authored with web technologies.

Finally, Nest.js is a promising server-side framework authored in TypeScript that runs on top of Node.js

Early Majority

In our early majority category, Vue.js continues to evolve and gain support, and we feel that it has crossed the chasm at this point to “early majority” status. We see particularly strong interest in Vue.js in China, and the newly re-designed InfoQ, currently in beta, also makes use of the framework.  Vue.js 3 is under active development, including a rewrite using TypeScript.

Version 7 of Angular was recently released and continues to improve.

Build and bundling tools, in general, are highly useful for optimizing applications for production. Nearly every framework leverages some combination of tools to optimize performance.

We have promoted Electron and TypeScript to early majority status. Electron is a widely adopted desktop application shell combining Node.js and Chromium to provide infrastructure for applications with web technologies.

TypeScript is the most widely adopted JavaScript variant, has made substantial progress over the past few years, and a majority of JavaScript frameworks now leverage its tooling and infrastructure. TypeScript on its own is one of the top 10 languages according to a recent GitHub Octoverse report, and the State of JS survey lists TypeScript as by far the most widely used JavaScript variant.

We have added three items directly to the early majority category:

React Native is a framework for building native mobile apps using JavaScript and React, and has rapidly become a popular way of building cross-platform mobile apps.

Likewise, functional and reactive programming patterns dominate the discussion around how to build JavaScript applications most efficiently. Libraries like lodash have helped popularize these patterns.

Late Majority

As the JavaScript ecosystem matures, there are now foundational technologies in the late majority category that show no sign of being replaced, but are used by nearly every JavaScript developer.

We have promoted several items to our late majority status.

IDEs and editors, in general, are widely used. On the desktop, VS Code appears to have taken a substantial lead over Atom, Sublime Text, WebStorm, and even vim or emacs. Browser-based IDEs like CodeSandbox bring much of the VS Code experience to a web browser for rapid development, experimentation, and sharing of development efforts.

Babel version 7 was recently released and provides the default transpiler between emerging versions of JavaScript and the version developers need to support based on their needs.

Babel, the JavaScript transpiler for converting source code from emerging versions of JavaScript to sets of language features supported in production environments.

React has emerged as the most widely adopted framework since jQuery, and continues to evolve; new projects get announced almost daily with support for React.

Node.js is a widely adopted server-side and command-line environment for JavaScript, and NPM is the most commonly used Node.js package manager. Nearly every JavaScript project leverages Node.js for its command-line and build tooling, and Node.js has received significant adoption for server-side development as well as within embedded systems.

Express is also on our list, as the most widely adopted Node.js-based server-side framework. Webpack makes our list too as the defacto build and bundling tool, also based on Node.js.

We have added HTML5 and ES6/2015 as late majority, as nearly every web application today uses these features as a minimum baseline.

Laggards

We conclude our report with laggards, which while still used in many applications, do not receive significant interest for new development efforts. Newer versions have supplanted ES5 and HTML4. Dojo 1.x and Angular 1.x, while still widely deployed, are in maintenance mode. jQuery, while receiving some improvements, has mostly been replaced by new HTML and JavaScript features or more full-fledged frameworks.

Conclusions

The JavaScript ecosystem is thriving, and while it may be challenging to keep up with the rate of change, we believe that many foundational pieces within this domain have become stable, which is creating additional areas for innovation. The team at InfoQ is here to provide you with expert coverage of the JavaScript landscape, and we welcome feedback, comments, and external article contributions.

About the Author

Dylan Schiemann is CEO of SitePen and co-founder of Dojo and an established presence in the JavaScript, TypeScript and open source communities. Under his direction, SitePen has become the definitive source for enterprise organizations that are focused on creating well-tested, highly performant and sustainable web applications. Dylan’s current initiatives include guiding development on Intern, TypeScript and Dojo. Dylan was the co-founder of the Dojo Foundation prior to its merger with the jQuery Foundation to form the JS Foundation. Dylan is co-organizer of the Phoenix TypeScript meetup group, London HalfStack meetup and conference, and TSConf. When not actively engaged in bettering SitePen and demanding better developer tools, Dylan enjoys traveling and sharing his experience at conferences around the world.

Rate this Article

Adoption
Style

BT