This article was created in partnership with Sencha. Thank you for supporting the partners who make SitePoint possible.
Some will help you write more efficient, maintainable code. Or you need help designing a set of consistent, interoperable, and fast UI components. In almost any situation, you can find an option that does much of the heavy lifting for you. There’s no need to start from scratch and reinvent the wheel.
- can keep state and view synchronized
- offer routing functionality
- let developers build, reuse, and maintain user interface components that are efficient and fast to respond to user interaction.
The number of JS frameworks available is high and that number continues to grow. Take a look at these options. I’ve listed both stable, popular libraries and newer options for the curious.
1. Ext JS by Sencha
Need to build a web app that handles large amounts of data, and need powerful, flexible front-end tools for displaying and working with it?
Sencha Ext JS is described as the…
Some of these components include:
- a HTML5 calendar
- and much more
Ext JS is a reliable, paid framework that comes with outstanding docs, tutorials, and support packages. Recent tests showed that the Ext JS data grid was 300x faster than leading competitors. In fact, its Virtual Scrolling experience retrieves and shows large quantities of data in under a second.
Advantages of Ext JS include:
- quick, smooth development. Enjoy seamless integration between an enterprise framework and state-of-the-art components and tools.
- comprehensive set of secure components. You’ll never have to go out of the framework to find any missing widget or functionality.
- great design capabilities due to included integrated tools. Sencha Architect offers drag and drop capabilities. Sencha Stencils lets developers mock up, style, prototype and test UI concepts.
- awesome unit and end-to-end testing tools with Sencha Test.
- a layout manager. Manage the display of data and content across different browsers and screen sizes. A responsive config system adapts the interface to device orientation and browser window sizes.
- easy to achieve accessibility compliance with the Ext JS ARIA package
- a robust data package that decouples the UI components from the data layer.
You can find out more about Ext JS on the framework’s site.
Reasons for choosing React to power your next project include:
- code components are stable and reusable. They’re a breeze to create and maintain using the API’s declarative syntax.
- A big company and a strong community support React.
- The library is stack agnostic, can also render on the server using Node.js, and on mobile apps with React Native.
Angular is a free, open-source framework by Google that works for both desktop and mobile.
- cross-platform – progressive web apps, native mobile apps, and desktop
- offers speed and performance
- has great features like filters, two-way data binding, directives, and more
- makes available awesome tooling for faster development
- has full support from Google and a strong community of developers behind it.
For more details, don’t miss Angular Introduction: What It Is, and Why You Should Use It by Ilya Bodrov-Krukowski.
Here’s how Vue describes itself in its own GitHub repository page:
/vjuː/, like view) is a progressive framework for building user interfaces. It is designed from the ground up to be incrementally adoptable, and can easily scale between a library and a framework depending on different use cases. It consists of an approachable core library that focuses on the view layer only, and an ecosystem of supporting libraries that helps you tackle complexity in large Single-Page Applications.
Here are some of Vue’s strongest points:
- you can integrate it within a project progressively. It easily scales from a library to a full-fledged framework.
- small and comes with a super-fast virtual DOM.
- has an amazing community behind it, which makes it a stable framework to adopt.
- offers great documentation.
If you’d like to delve deeper, read How to Tell If Vue.js Is the Right Framework for Your Next Project by Karolina Gawron.
A framework for ambitious web developers.
- leverages the convention over configuration approach championed by David Heinemeier Hansson. It aims to lower the number of decisions that a developer has to make (without sacrificing flexibility).
- almost all you need to set up your app comes with Ember out of the box.
- offers great docs and resources.
6. Svelte 3
Though it’s growing up quickly, Svelte 3 is the new kid on the frameworks block. Rich Harris released Svelte in November 2016 as an open-source project. Version 3 came out in April 2019 and was a complete overhaul.
Svelte works differently from most frameworks listed so far. In particular:
Whereas traditional frameworks like React and Vue do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app.
Many frameworks use using techniques like virtual DOM diffing. Instead, Svelte surgically updates the DOM when the state of your app changes. Compiling code creates noticeable performance benefits.
Choosing a framework is always a circumstancial decision. It involves paying attention to what your specific project’s challenges are. It also means considering your team’s experience and preferences.
For example, if your team needs to build data-intensive, enterprise-level projects that need a secure, reliable, and comprehensive framework with a large set of components that work well with each other, Ext JS by Sencha is a great option. You’ll never have to go out of the framework to search for components. For projects that start small but need flexibility and scaling capabilities, Vue could work well. And if your front-end team has extensive React expertise, going with React could be your best bet.
Do you have any other JS UI frameworks or library you’d like to suggest? Which ones have you found yourself using the most as a developer? Let us know on Twitter.
Maria Antonietta Perna is co-Editor of the HTML/CSS Channel at SitePoint and a front-end web developer. She enjoys tinkering with cool CSS standards and is curious about teaching approaches to front-end code. When not coding for the web or not writing for the web, she enjoys philosophy books, long walks and good food.