We’ve been hard at work for the last few months defining the future of our core suite of products to ensure the continued success of our many global customers and to renew the momentum of the iconic Ext JS framework with new users. We analyzed support requests, forum posts, historical tickets, survey responses, and had multiple discussions with developers to distill a list of general themes that can guide our development efforts. You’ll see these themes reflected in this Roadmap and echoed by our team in the ensuing months as we strive to continue building Sencha products into the best products they can be.
Overview – Robert Warmack
Robert is a Director at Sencha focused on improving the process and procedure around how software is created and delivered. In addition to his time spent at several large software companies including Google, Robert has consulted extensively with companies both large and small focusing on best-practices and operational excellence.
Our Core Roadmap Themes
The core tenets of our R&D process are Quality, Performance, and Ease-of-Use. The items on the Roadmaps are prioritized and planned with these concepts in mind. We typically deliver a release every quarter with a major release every one to two years to align with how developers build and support applications. We are less interested in “blockbuster” versions, but rather want to provide gradual improvements that make upgrades and migrations easier. You will note that we have changed some of the nomenclature of releases to reflect these principles.
We plan to continue development and support on all of our core products, including Ext JS, Sencha Test, and GXT. Based on overwhelming feedback, Continuity has emerged as a central theme. We need a more balanced focus between Ext JS Modern and Ext JS Classic. This means that we will be bringing more modern features to Ext JS Classic (in fact we may go away from the “classic” term itself as it inaccurately implies legacy). We’ll be adhering more strictly to SemVer development standards, deprecating rather than outright removing code, and generally avoiding backwards incompatible changes except on major releases as defined well in advance. In conjunction with that change, we’ll be working to provide smooth upgrade pathways to avoid forcing painful rewrites, including between the two major Ext JS toolkits. In this effort we will provide more transparent bug tracking, roadmap planning, and community involvement. Continuity is a key differentiator of Ext JS vs development in Angular or React. The approach to ExtReact and ExtAngular will highlight our thinking in this direction.
We pride ourselves on being customer-focused and data-driven – your ongoing feedback will be appreciated. Please let us know at [email protected]! Of course, you can always reach out to our sales engineers or product managers directly. This roadmap is a living document that will change and grow as we adapt to best meet your needs.
Ext JS – Alex Tokarev
Ext JS has long been the frontend framework for developing Enterprise level Web applications. Our batteries-included approach and attention to detail puts us head and shoulders above the competition when it comes to getting developers quickly and efficiently developing apps that need to last for the long-term. We save developers countless hours and allow them to deliver superior complex applications over the “build-your-own” model of the flavor-of-the-month open source frameworks. At the same time, we want to enable developers to use our superior components in other frameworks. Frankly, we think that this will be a good way to highlight the power of Ext JS itself and increase global adoption.
One of the recurring themes in the customer feedback we received was the demand for continuity and extended support for Classic toolkit. We recognize that preserving your investment in existing Sencha products is of utmost importance, and that lately there has been less progress on Classic toolkit than we would like. Meanwhile, Modern toolkit has not been achieving enough feature parity or compatibility with Classic toolkit to enable painless migration process between the two.
With this feedback and your immediate priorities in mind, we decided to accelerate the modernization process for the Classic toolkit and add some long requested features:
- Material theme will be coming to Classic toolkit with support for IE11 and other modern browsers
- Increased interoperability with Modern toolkit will allow the use of Modern components in Classic applications
- Further progress on accessibility support will enable our users to meet their ADA/Section 508 compliance requirements easier than before
- Improved tooling will allow for easier application testing and upgrades between framework versions
We will also continue to develop the Modern toolkit with an eye to the latest UX trends in Mobile. Recognizing its outstanding flexibility and stellar support for mobile devices, we plan to further improve these aspects of the toolkit and focus more on the API parity between toolkits to allow better code interoperability. In terms of features, the major ones we plan to add to Modern toolkit are accessibility and localization support.
One of the most requested features for a long time has been support for ES6 class system and modules in Ext JS. We have made significant progress in this direction lately, but adding ES6 support without breaking backwards compatibility has proven to be more complicated than we thought initially, in no small part due to shortcomings in our existing tooling built around Sencha cmd.
After some internal debate it was decided that continuing this effort would be less effective. We think that our existing toolchain needs to be modernized and become less monolithic. To this end, we will begin the sunset process for Sencha Cmd in its current form and gradually move to embrace more modern open source tooling such as Webpack and Babel before circling back to the question of ES6 support in Ext JS.
And of course, we plan to double down on the backlog of existing issues to improve product quality. With the swift progress made in Modern toolkit lately, there has been some increases in regressions in the framework; we want to prioritize quality efforts that many customers stated should be our highest priority.
The table below provides a Quarterly summary of planned development.
Ext JS Tools – Cmd, Architect, Themer, Plugins – Dan Buhrman
A common theme among our products is to increase ease-of-use and generally improve the productivity of our customers. Architect and themer are prime examples of this ethos at work. These amazing products have inspired a group of passionate users who appreciate the ability to rapidly get up-and-running with both prototypes and larger projects.
One thing we’ve constantly heard is that many clients have had difficulty fitting these products into their enterprise development workflows due to some inherent constraints in the design. We’ve heard them loud and clear, and next year we will be looking to remove these constraints in our push to modernize, unify, and standardize our toolchains.
We envision a scenario where new apps can be brought up and running 80%+ of the way to a simple MVP within an hour or two of opening the Architect tool. We will also consider in the future to make Architect a Web based tool (now possible with overall web performance advances), which can open interesting integration options with other Web-based DevOps toolings.
Sencha Test – Dan Gallo
Comprehensive automated testing has become an indispensible part of the modern DevOps toolchain, and it is our goal to make Sencha Test an indispensable part of our customers’ Ext JS workflow. In order to accomplish this, we’re partnering with some of the leaders in the testing tools space to further refine and polish the Sencha Test product and optimize the workflow. The first step in this process is releasing Sencha Test 2.2 with GA planned in early Q1 of 2018.
Future targeted improvements include:
Allowing automatic minor updates to occur within the app – ensuring that our users always have access to the latest and greatest, and saving everyone the time and pain of downloading and manually upgrading their installs.
Embracing modern tooling to more easily integrate Sencha Test into the development process. This is a trend among all of the Sencha products. Once again we are looking to make Sencha extremely simple to use. We’ll be improving the experience to get you up and running faster, using tools that you’re familiar with across the board.
Enhancing the Sencha Test Futures API to include support for more high-level components and interactions, while keeping the ability to interact with low-level DOM elements. The event recorder will also be able to output scripts leveraging the elegance of the ST Futures API, which translates into scripts that are easier to read and maintain.
Enhancing the inspector to improve our customers’ ability to easily, graphically create test cases quickly.
The table below outlines timing for planned Sencha Test development.
GXT – Brandon Donnelson
Brandon is the Sencha GXT Product Architect and has over 17 years of enterprise software engineering. He enjoys contributing to the GWT community by managing the GWT Eclipse Plugin. You may have seen him during training or speaking at conferences. He puts his passion into helping developers get their jobs done. Brandon’s specialized engineering experience ranges from Java, Eclipse Plugin, IDEA Plugin, GWT, Cloud, Sencha GXT and much more.
Our goal is to make GXT even easier to build feature rich applications with Java. All the while taking advantage of the mature Java toolchain, libraries and knowledge. This means it’s getting better to build reusable data rich Java components with GXT.
This year GXT is dramatically improving with some exciting features slated on the roadmap. Starting with the GXT 4.0.x improvements, we’re imp fixing and improving the the SDK. This means you can download upgrade to get the improvements without breaking changes.
Some notable improvements in the works affect layouts, making them easier to layout squashing edge cases. You’ll see grid performance improvements to large data rich grids. Then when it comes to adjusting the behavior to our components, it’s getting easier to extend, hook in and style them. And with a deep focus on fixing defects, increasing productivity, improving performance and theming, we’re making even easier for large Java teams to build structure web applications at a fast pace.
Have you ever experienced the pain of setting up a testing environment across multiple devices and clients? Well, when it comes to testing, it’s going to get easier with the option to use Sencha Test for testing GXT applications. You could spin up Sencha Studio, writing unit tests which drive the web driver and asserting it works as expected. This could save you time in wiring up complicated test structures for large teams.
You may have seen the feature wealth of options in the Ext JS SDK with additional charts, pivot grid, calendar, split grid trees and so much more. So we have set to building a bridge so you could use these features in your GXT application with ease of configuring them with Java. The ease of development doesn’t stop with the simple Java configurations, it’s also easier to debug with GWT Super Development Mode. So keep your eyes peeled for the new options next year.
Are you stuck with your application built with GXT 2, which has past its end of life. Are you considering an upgrade? To start, we have trained engineers which could help you upgrade quickly to 4.x. And don’t forget, the browser feature landscape is constantly improving and we’re aiming to take advantage of that in with GXT 4. This means older applications could get caught in the open without support. So we’re standing by with options to help you upgrade so getting caught in the open doesn’t happen. With the future looking even brighter than ever for GXT, we and we can show why the investment in upgrading would pay off with dividends. For example, consider how upgrading would allow you to take advantage of all the touch features, theming features, faster debugging and development and the modern Java toolchain. And this doesn’t include the coming GXT features. So we’re standing by with answers to your questions on why the investment to your upgrade will matter to your application moving forward. Reach out and we can provide more.
After all we know it’s been some time since the last GXT release. Well, we’ve heard your feedback. So we’re making some considerable contributions to the engineering and innovation effort. Aiming for a incremental release schedule over the next year. We’re not stopping there either and are actively investigating how we can evolve GWT for the future.
Don’t be timid, reach out to our teams with questions. Ask us about building data rich web applications with Java and how it can make a difference in your enterprise!
- Improved extensibility in much of the SDK.
- Marked improvements in the javadocs @since 4.0.3.
- Improved selection handling.
- Improved grid performance.
- Squashed layout edge cases.
- Improved resized container behavior in flow layouts.
- 100’s of defect fixes.
- Improved checkbox and radio alignment and grid cell behavior.
- More examples have have been added to the explorer.
- The examples explorer copy and paste works again.
- The explorer examples source is now available.
- The desktop example demo works and source for GXT 4 is now available.
- The EDash example demo source is now available.
ExtReact and Ext Bridges – Marc Gusmano
Marc is an Engineer with Sencha and has more than 30 years of experience in the software services industry. He has been extensively involved with custom HTML5 browser and mobile development projects, using his experience to build HTML5 Single Page Applications. Marc has worked for several large software services companies, including Andersen Consulting and Hitachi Consulting, and he was co-owner of a software services and training company for more than 10 years. Marc has a passion for building outstanding software, especially leading-edge, user-centric applications.
Along those lines, we’ll be looking to open-source or create free versions of our Ext JS bridge products for ExtReact and ExtAngular (and possibly other JS frameworks). Likewise, we’ll be working to incubate further products that our customers would find useful for integrating Ext JS into their projects. These will largely be community-driven, and as such, they won’t require additional licenses to use. We intend to focus very heavily on improving the core experience of using Ext JS, and these products will simply facilitate making those improvements available to a wider audience.
As OSS, we’ll be looking to engage our community to pitch in and help us build these outstanding tools to make Ext JS available anywhere and everywhere. Are there any other products you use that you’d love to be able to embed Ext JS components into? Let us know!
Look for more on the expansion and opening of these tools on our blog in early 2018.
Submit Your Feedback
Thank you for taking the time to read through our roadmap plans. As mentioned above, the roadmap is a living document that will change and grow over time to best meet the needs of the Sencha Community. Please do continue to share your feedback at [email protected], we look forward to hearing from you!
Chris Alfano says
What’s the position on future GPL releases?
I remember ExtJS 6.6 was supposed to be released on the first half of October, and this plan was broken because of Idera’s acquisition of Sencha
Wayne Rudd says
Thanks for this, good info and actually more roadmap detail than I have seen out of Sencha ever…so gives me some hope. So much hope that I have sprung for another year of maintenance, after previously deciding to give up on future versions of Architect
Oscar Gimenez says
Up until now, if we had to do a desktop app we would chose Classic and for mobile, Mobile. Then, recently, we had the option to work only with Modern and just target desktop or mobile, this is a nice step forward. Future…??? If Classic will be getting Modern components… and Moderns will be getting Localization, Classic components… are you going to merge the two? if we are starting a project which one should we chose for better platform coverage? What would be the platform targets for Classic and Modern once you have party?
+1, last months recommandations were to use Modern toolkit, and features from Classic will be merged in modern. Now you say totally the reverse of what you sayed before.
I’m not a fan of this reversal either. There are things done in modern that is a much better design than classic and doing the same things in classic isn’t trivial and may break backwards compatibility. This decision to invest in classic to make it the preferred is a step backwards. As an Ext JS user, decisions like this make me want to move away from Ext JS sooner than later as it signals backward thinking, not forward like they need and even talk about.
Also, modern !== mobile, that is an incorrect characterization. Sure it came from Sencha Touch which was geared towards mobile but the moves that were made when brought into Ext JS and especially with advances with 6.5, modern was being geared as the toolkit to use and classic would eventually be phased out when the infamous feature parity would have been reached. There were great strides and if Sencha would have gotten investment instead of replacement, modern toolkit would have reached the parity. Many of the things in the roadmap were either completed or at least 75% completed for the 6.6 release we were planning prior to many developer departures which would have been released a month after the 6.5.2 release.
I am one of those customers who moved from classic to modern when 6.5 came out. I trusted Sencha recommendations in doing so, at that time. Now, I have to wait another 6 months just to be able to use a multiselect combobox, which to me seems like a simple and fundamental feature.
I wished the Sencha team (like Mitchel Simoens or Arthur Kay and all the others) hadn’t changed. Now it’s hard to believe in your plans… this is what I feel: ‘yeah, sure, nice blog post, nice words, Performance, Quality, lalala lalala… how serious is a framework developer that takes 12 months to provide such a simple component like a multiselect field’.
Writer of code says
Aram, you could easily be using it now. The multiselect config of Combobox (Previously a separate “TagField” in Classic) is fully finished and in the 6.6 codebase.
They are just sitting on it in order to claim they’ve been “Hard at work” when (IF!) they finally make a release.
True Engineer says
So pushing out to Q3 2018 features which have already been committed to the codebase by people you fired.
Says all potential customers need to know.
Did you expect the new team do jump into to the code base and right away start making changes and be productive on day one?
Sencha very poorly managed the company. Ext JS is roughly 10-year old software, but it has been losing popularity for at least the last 5 years.
In the area where I live (Chicago) practically no new Ext JS projects were started in the last 2 years. Ext JS is very unpopular in this area.
We need to wait at least two quarters to see where the project is going after the IDERA acquisition. Perhaps IDERA will realize that the outsourcing model will not work and they will start hiring qualified engineers? Time will tell. I expect a slow improvement.
You win the award for most immature comment on this blog post.
No plans to fix the IntelliJ plugin? It’s currently completely broken.
Thank you for the long awaited update. Can you expand on this statement?
“This means that we will be bringing more modern features to Ext JS Classic (in fact we may go away from the “classic” term itself as it inaccurately implies legacy).”
What modern features will be brought to classic? Weighted containers, proxy configs, etc?
Rafael Carvalho Oliveira says
Nice content, guys. Glad to know what to expect from the company and I must say that I’n not disappointed. Cheers
Great to see your future plans and the roadmap, thanks for sharing :) Any idea on when locking grid support might land in Modern?
Ivan Jouikov says
Considering the modern “example” app you get when you generate an app doesn’t work in iOS, I would curb your enthusiasm.
Also need locked grids badly
Excellent update! Pretty much exactly what I wanted to hear for us, a long-time (since v2), B2B, heavy user of ExtJS.
“This decision to invest in Classic to make it the preferred [toolkit]…”
I didn’t see anything about “preferred”.
What I read was:
“We recognize that preserving your investment in existing Sencha products is of utmost importance…”
I’m sure that’ll be a very welcome message for a lot of people stuck with a large Classic code base that they cannot afford to move to Modern (or another framework).
Along with the announcement on Single Developer Licences, I hope it’s a sign that Idera have (finally) recognized the large hole in the boat, drilled by Sencha’s past management, that drove so many Ext JS developers to abandon ship.
I’m even more encouraged by the decision to “sunset” Sencha Cmd and to circle back to ES6 at a later date because I want like to see the “quality, performance and ease-of-use” of the toolkits put above everything else.
j.ashworth, this is a spot-on analysis of this article.
“…recognized the large hole in the boat, drilled by Sencha’s past management”
Followed by a significant chunk of knowledge/staff leaving doesn’t fill me with confidence.
Thanks a lot for the roadmap and updates.
What we where waiting for is the Modern toolkit to have feature parity (locked grids, ..), to finally be able to have one code base for desktop and mobile.
Of course it’s important to keep Classic alive for large existing apps, but do you see them jump to NPM or even ES6? It would have been enough to make a LTS version with bug fixes and ensuring browser compatibility for the next years, but backporting Modern features (which rely on modern browser engines) and doing all next steps for two toolkits is a waste of your resources, IMHO.
Very positive however is that you plan to provide more transparent bug tracking and automatic minor updates through the new toolchains. That will save us lots of time crawling the forums, when we get fixes before we even discover the bugs.
Christian Dubé says
The roadmap update gives me confidence to wait and see how things move for another year. I would have answered otherwise a month ago. You guys have set goals, better deliver now.
David Mishra says
I loved roadmap update, thanks a lot.
GXT will receive a minor update 4.0.3 (100 fixes blah blah…) that you are keep talking about for more than a year now and in Q2 2019 will got ability to use ExtJs components from Java expecting us to pay additionally for that ? Remember version 5 that Brandon was so excited to announce long time ago that supposed to be released some 6 months ago? One would need to be totally crazy to keep using it.
What about router improvements announced in 6.6, such as “Exit Handler”, “Single Routes”, “Lazy Routes”, “Named Types”?
i am just loving the update. Thanks for it http://newpipe.xyz
blackmart alpha says
Great work guys ,just good to now about these updates. And also thanks for sharing this article .
crowns vod pro says
Great information guys! just loved the stuff and the way you have shown us.
Mac Degree Symbol says
Great information guys! just loved the stuff and the way you have shown us. Degree Symbol
Thank you for this detailed roadmap. However, I am disappointed that every author of this article consistently refers to Ext JS as a framework – despite this not being the case.
Let’s be clear about one thing. There exists no such framework as “Ext JS”. What we have instead are two independent non-compatible frameworks “ExtJS Classic toolkit” and “ExtJS Modern toolkit” (formerly branded as Sencha Touch).
Sencha management have decided “merge” these two products into the single name “Ext JS”, but without actually merging them. There is no feature parity between the two toolkits. They are two different frameworks, both claiming to be “Ext JS”. That is misleading nonsense.
First you recommend developers that Modern is the recommended toolkit to use, despite that it doesn’t have all the features of Classic. Then later you change your mind and back-port features from Modern into Classic and say that “Classic is the preferred toolkit”.
Please can you decide, once and for all, which of these two competing “Ext JS” frameworks you officially support, and then kill the other one?
Still here in 2019 Sencha’s marketing materials and API documentation uses phrases such as “the Ext JS framework”.
Even in API section for the “Modern Toolkit” you can find strange entries describing classes, that do not apply to that toolkit.
Here is an example:
“Note: Buffered Stores are not available in the modern toolkit. Instead use Ext.data.virtual.Store.”
If Buffered Stores are not available for the Modern Toolkit framework, then why do you include a page for Buffered Stores inside the documentation section for Modern Toolkit?
For a start, please start by being honest and stop saying that “ExtJS is a framework”. It clearly is not. It is a fictional term, and just causes more confusion and a steeper learning curve.
Amazing description using core theme with internal knowledge.