An article on 2nd Generation JavaScript Frameworks & Libraries: beyond Angular, React, and Vue! recaps Geertjan Wielenga’s talk on the evolution of JavaScript and the influence of the enterprise in recent years.

Background

Wielenga spoke of the pioneers of JavaScript frameworks and libraries including Dojo (1.x), Mootools, Extjs, jQuery, and YUI which were among the first libraries to address the needs of the developer. Piecemeal solutions built on top of these to solve increasingly common problems and were followed by the need for building tools to aid in simplifying the complexity of deploying large web applications. 

Current Landscape
Jumping to present day, Weilenga highlights the dominant front-end frameworks, Angular, Vue & React, categorizing them as “first-generation frameworks” and identifying their common (and serious) issues:

  1. Large amounts of technological churn added to the ever-evolving ecosystem around them that developers have to keep up with. 
  2. Incompatible custom stacks.  
  3. Developer specialization; developers identifying by framework instead of language.

At the same time, with JavaScript being the standard programming language for browsers, the desirability and potential offered by multiple new platforms, and the large pool of inexperienced developers, the enterprise needing to masterfully use JavaScript continues come up against obstacles to forward momentum which includes attracting and retaining quality engineers.  This becomes more difficult when you’re not the hot start-up with the cool, new tech or if you’re using proprietary software that isn’t transferable to the developer’s next role.

2nd Generation Frameworks & Solutions

With the shortcomings of the current framework offerings and the absolute need of JavaScript by the enterprise, Wielenga names the second generation of JavaScript frameworks and libraries and defines them as the ones that put the needs of the enterprise first

Adapting popular frameworks for enterprise usage is making the landscape even more fragmented, apps more fragile and sustainability increasingly difficult.  Others are pioneering a way forward. 

One such example is the Dojo Framework, the successor of the original open-source, enterprise-focused JavaScript library, Dojo Toolkit. Prioritizing enterprise requirements like responsive design, accessibility, internationalization, security, performance optimization, conformance to emerging standards like web components, business user prioritization, documentation, and support. Dojo seeks to empower enterprise development organizations by being:

  1. Opinionated. You don’t want every new developer adding their own flavor to your codebase.
  2. TypeScript First. A mature engineering organization needs good rules and best practices in place. TypeScript supports this.
  3. One-stop. You don’t need to make 20 decisions and use 20 different solutions to get started. Dojo makes strong default decisions for you.

Dojo enables teams to build web applications with a deliberate approach to productivity, sustainability, and discipline, specifically addressing enterprise pain points by:

Removing Decision Paralysis – Dojo provides excellent out-of-the-box default decisions while making it possible to change or override those defaults. This allows teams to be productive quickly while creating high-performance applications by default.

Becoming the Technical Lead.  Dojo provides an approach that helps engineers build applications with good architecture and performance best practices by default. For example, Dojo applications are PWAs by default and provide incredibly simple approaches for rendering optimizations, code-splitting, and other performance without needing to rewrite application logic.

Providing Developer Ergonomics. Dojo aligns with modern standards and patterns without the cognitive overload of every design decision. For example, Dojo currently leverages webpack for various build optimizations, but most applications built with Dojo will never need to think about webpack configuration as Dojo does the right thing based on the application architecture. Dojo provides efficient tooling for creating and testing applications and UI widgets, type safety and accuracy via efficient TypeScript ergonomics, and much more.

Dojo provides a stable foundation for the enterprise to build performant, extensible, and sustainable applications for the future. 

Other solutions like Svelte and Stencil are also offering up 2nd gen considerations for the enterprise and developers alike.

Ultimately,  with every large company now effectively being an IT company given the large scale development operations and developer populations within them, the large framework players are being forced to evolve towards the needs of the enterprise and not without pain. Guiding and maintaining a highly-used open source project requires discipline, vision, and perseverance. 

Stable over sexy. Inclusive over fragmented. Sustainability over velocity.  

The 1st generation frameworks are now challenged to become part of the next generation of enterprise-focused solutions and of course they should! Because really, aren’t these values and priorities good for every application, its users and its development organization?