Missed JavaScript Days 2026? The Replays Are Now Available – Watch Now!

Modernize your application with Ext JS 7.0

August 8, 2019 3230 Views

Get a summary of this article:

Show

As an Engineer at Sencha, I spend a lot of time visiting customers, screen-sharing with them, and assisting them in creating beautiful user interfaces. One trend I’ve noticed among our customers is the desire to extend the life of these web applications.

The need for businesses to reach out to their customers and employees via web applications is well established and widespread across most industries. Businesses are investing more in each web app they create, expecting them to provide long-term value both internally and to their client base. Web applications are quickly becoming the new Enterprise Applications.

I see a lot of Ext JS version 5.x and 6.x apps in production that are feature-rich, do the job, but are getting a little old. As more users become acquainted with web apps, the bar for quality, usability, and application look and feel has risen significantly. Indeed, many of the legacy apps are long overdue for a complete overhaul.

If you’re using Ext JS 5 or Ext JS with a Classic Toolkit application, the release of Ext JS 7 provides a simple, low-cost way to modernize the look and feel of your app with just two lines of code!

When you upgrade to Ext JS 7, you will be able to use the new Material Theme for Classic Toolkit, which has a more modern look. This theme makes use of Google’s Material Design, which describes the UI components and layout of an application, possible interactions, and the unified expression of qualities such as color, shape, and motion. Material design is concerned with more than just the visual aspects of an app; it is also concerned with motion. What makes this new theme interesting are its interface motion guidelines, which allow us, developers, to not only create a bright, shiny new UI but also use motion to give the end-user a much better experience.

You would need to literally modify 2 lines of code in your application to take full advantage of Material Design.

  • First, reference the new NPM package @sencha/ext-classic-theme-material in your package.json file (in case you are using modern tooling):
    "dependencies": {
    "@sencha/ext": "~7.0.0",
    "@sencha/ext-classic": "~7.0.0",
    "@sencha/ext-classic-theme-material": "~7.0.0",
    ...
    },
    
    
  • Second, specify the new theme for your build profile in app.json file:
    "classic-material": {
    "toolkit": "classic",
    "theme": "theme-material"
    },
    
    

And rebuild your application. Done!

New Material theme for Classic Toolkit (as well as Material theme for Modern toolkit) supports CSS variables and provides APIs to get and set colors. It is now possible for you to make a color picker with only verified material colors. You can live update the look and feel of your application without the need for an external server or Sencha Cmd.
The material theme provides APIs to get colors that give you a nested object with all the material colors and weights.

Ext.theme.Material.getColors()

The material theme provides you with APIs to set colors that can be used as follows:

Ext.theme.Material.setColors({
    'darkMode': darkMode,
    'base': base || me._materialBaseColor,
    'accent': accent || me._materialAccentColor
});

Justifying using resources to upgrade an existing app can be a difficult sell, but moving from v5 or v6 to Ext JS 7.0 should be a simple step. Implementing the material design theme will give your users a better experience and extend the life of your application. If you need any assistance putting a bright, new, shiny face on your app, contact me for help.

Olga Petrova
[email protected]

Try Ext JS

We invite you to try out Ext JS 7.0 early access and share your valuable feedback via our forum.

Download the free trial of Ext JS 7.0
Register for the upcoming Ext JS 7.0 webinar
View the Ext JS 7.0 examples on any device
Read the Getting Started Guide

Author

Olga Petrova

Olga is a Sales Engineer at Sencha and has been a software developer for more than 11 years. She has experience as a front-end developer and has been working with Ext JS since version 1.1. Prior to joining Sencha, she worked at AutoVision GmbH (a subsidiary of Volkwagen AG), Clueda AG, dotplot GmbH, and other software and services companies. Olga graduated from Tyumen State University.

Recommended Articles

How to Use the Ext JS Grid in React: Setup, Columns, Editing and Grouping

Set up the Ext JS grid in React with ReExt, then add typed columns, store-backed data, inline editing, grouping and summaries. Full code included. The…

Understanding Ext JS Layouts and Containers: An Introduction (Classic vs. Modern)

Building complex, responsive, and data-intensive Web applications requires a solid layout engine. In Ext JS, the layout system is the backbone of your Application UI.…

AI-Driven Test Grading with Ext JS, Node.js, and OpenAI: A Secure Enterprise Architecture

Learn how to build an AI-driven test grading system with Ext JS, Node.js, MySQL, and OpenAI using secure API architecture, deterministic scoring, and human oversight.…

Sencha AI Just Got a Lot Bigger: One Chatbot, Every Sencha Product

Sencha’s AI assistant has grown from a focused Ext JS helper into a product-aware chatbot covering the whole Sencha suite. Here’s what’s new and why…

Building High-Performance Real-Time Operational Dashboards with Ext JS and React

Real-time operational dashboards are no longer simply reporting interfaces. In logistics, fleet management, supply chain operations, financial services, and other data-intensive environments, they are part…

Async/await with Ext JS

Probably one of the most appreciated features of the latest versions of JavaScript is Promises, and in particular their use through the new language keywords…

View More