In our recent webinar, A Day in the Life of an Ext JS Developer, we provided a technical introduction for how to get started with Ext JS quickly, including tips and best practices. The Q&A session was very lively, so we’re sharing some of the discussion here. We’ll be repeating the same webinar on Thursday, March 22nd at 10am PDT if you’d like to join us live and take advantage of the opportunity to ask your questions.
Table of Contents
What is the best practice to improve the build process and minimize the time to deploy to production, for a large extjs application?
Our best practice for building production versions of Ext JS applications is Sencha Cmd, specifically ‘sencha app build production’. Also, if you need to break your application into smaller parts for production, take a look at our Dynamic Package Loader, at https://github.com/sencha/package-loader
What is the best practices for building JavaEE web apps that are utilizing Maven as a build tool and dependency management?
Since Sencha Cmd is used as the build tool for Ext JS and it is a command line tool, you can call Sencha Cmd in any build environment that can call a command line tool. Also, here is a video on the Sencha site that might help: http://video.sencha.com/watch/YGrD8e49jy1YUdF9PJNrQR
Up until now, if we had to build a desktop app we would chose Classic and for mobile, Modern. Then, recently, we had the option to work only with Modern and just target desktop or mobile, this is a nice step forward. What does the future hold? If Classic will be getting Modern components, and Modern will be getting Localization, Classic components, are you going to merge the two? If we are starting a new project, which one should we chose for better platform coverage? What would be the platform targets for Classic and Modern once you have parity?
We recommend the Modern toolkit for new projects that require better cross-platform devices support and Classic toolkit that require better desktop support. There are several features in the Classic toolkit that make it the right choice: support for IE8 / 9 / 10, and accessibility and support for RTL (Right-to-left) languages. If your application needs these capabilities, then Classic is the way to go. As part of roadmap, we are also looking at merging toolkits in the future.
What is the plan for universal apps for Architect?
Architect is a compelling low-code solution that helps bring Ext JS apps to the marketplace even faster. We are actively exploring ways to make development with Architect more seamless and accessible. By the end of 2018, we’re hoping to remove some of the major roadblocks to natural Architect development workflows – stay tuned for more as this develops! If you have any thoughts or feedback about Architect, please email us at feedback@sencha.com.
Universal apps with two modern targets, is that new?
We will continue to support Universal applications where the Desktop is using the Classic Toolkit and the Mobile device is using the Modern Toolkit. As we bring the Modern Toolkit desktop components to parity with the Classic Toolkit, you can build a Universal application completely with the Modern toolkit (as long as you do not need to support Internet Explorer, Aria/Screen Readers, Right to Left Languages – those are only supported in the Classic Toolkit).
Will nodejs packages be available to use with the new Sencha cmd?
We are working on creating NPM packages for Ext JS as part of Ext JS 6.6, planned for the end of the Second Quarter, 2018.
Besides Controllers, Models and Stores, are there any other types of objects that could be shared? Does Sencha first look in the shared folder by default to retrieve the objects? Are there predefined templates?
If you are building a Universal application completely with the Modern Toolkit, then even some types of views are potentially sharable, typically using a responsive layout. Take a look at the first page of the Coworkee application we built: http://examples.sencha.com/coworkee/#home
Can you comment on upgrading from 6.0.2 to 6.5.3? Are there folder structure changes or functions we should consider?
For every release, we publish What’s new, Release Notes and an Upgrade guide, for example, here is the “What’s New in Ext JS 6.5.3”:
http://docs.sencha.com/extjs/6.5.3/guides/whats_new/whats_new.html
We also have the documentation available for every release as far back as 3.4.0 – click the down arrow next to the version name in the title in the documentation to see the list.
What determines when to use MVC or MVVM architecture?
MVC (Model View Controller) and MVVM (Model View ViewModel) is described in a great article on our documentation site, “Introduction to Application Architecture” and is accessible at:
http://docs.sencha.com/extjs/6.5.3/guides/application_architecture/application_architecture.html
This article describes the terms, how MVC and MVVM are implemented an an Ext JS application, and also demonstrates a sample app you can use to learn more: http://examples.sencha.com/extjs/5.0.0/examples/ticket-app/index.html
Why the dot at the end of Sencha Cmd?
In some of the examples I was using an experimental version of Sencha Cmd build with node – one of its aliases is sencha. (with a dot): https://www.npmjs.com/package/sencha-node
Will Sencha App Watch look for SCSS changes?
Yes it will – Sencha App Watch will look for any application change, weather to your JavaScript code or style code (.scss).
Does the current version of Ext JS support ES6?
Yes, we support ES6 (and beyond) JavaScript syntax through the use of Sencha Cmd. There are some areas that will be supported in Ext JS v7 – the class keyword and its full use to create Ext JS classes (replacing Ext.define and Ext.create), and import statements that replace Ext.require and the ‘requires’ config. Note that this replacement will be optional – we will still continue to support Ext.define, Ext.create, Ext.require and the ‘requires’ config in Ext JS 7.
When are you planning to release Ext JS 7?
Ext JS 7 is planned for the fourth quarter of 2018. You can find more information about our roadmap and upcoming releases in this blog post.
Could you briefly compare Sencha Ext JS vs Reactjs?
Sencha Ext JS and React support a common ‘component’ approach to building HTML5 Web Applications. One of the biggest differences is that there are no robust data components that come with React; Ext JS, on the other hand, includes over 100 data-oriented components. Also, Sencha has released the ExtReact product, which allows for the use of Ext JS components in a React application. Learn more about ExtReact at: https://staging.sencha.com/products/extreact/
When developing enterprise applications, Ext JS has been always the best tool, but since the acquisition, the community is afraid to select this framework again because of the confidence that Idera might put Ext JS into stop of development. What are Idera’s plans for Ext JS, is the framework going to be re-built from scratch? Do they have a long term vision for the framework?
We believe that Ext JS is the best Enterprise JavaScript framework on the market. We want to make it available and easy to use for both existing and new developers. We are continuing to work with our community to improve accessibility of components by augmenting our toolchains with modern tooling and supporting integration of our components with many other products that our customers value (similar to what we’ve done with ExtReact). Overall, we are looking to simplify and improve the Sencha user experience. We do not plan to re-build Ext JS from scratch. We do have a lot of interesting ideas around better security and supportability that should make building enterprise apps with Ext JS a no-brainer. You can find more details on our roadmap plans in this blog post.
I would love to see a webinar focused on how to test a large Ext JS application. Will we see such a webinar any time soon?
We are always looking for feedback on webinar topics from our community – thank you for sharing! Yes, we’ll likely cover this topic in a webinar when we release Sencha Test 2.2 GA, coming soon!
When are you planning to release Ext JS 6.6?
When ExtReact 2.0 will be available?
Ext JS version 6.6 is planned for end of second Quarter
ExtReact v2 (which supports React v16) is also scheduled at the same time, although we will have an Early Adopter (EA) release soon. Please let me know if you are interested in that.
You should consider creating bindings for Vue.js.
Vue is very similar to React, and currently is the fastest growing JS framework.
Nice to hear all this responses.
Thanks! Let me know if you have any specific questions
Nice one… good points to me, starting at these world (extjs)
I don’t need support for IE8, 9 nor 10. I don’t need support for accessibility. I don’t need support for right-to-left languages. My audience is strictly desktop; no mobile. Should I use Modern or Classic?
Modern all the way ;)
One killing feature of extjs has always been grid component for me. An advanced, customizble grid is crucial for developers working on data driven enterprise apps as i am. That’s why i am waiting for parity between modern and classic grids. So, what is your roadmap about this? You mentioned about this in general, but for example do you have a plan to add locking columns to modern tookit anytime soon ?
What about router improvements announced in 6.6, such as “Exit Handler”, “Single Routes”, “Lazy Routes”, “Named Types”?
All of that stuff was merged into the 6.6 branch prior to the layoff so that should be part of that release unless they did some tomfoolery which I would think wouldn’t happen. Enjoy!
Nightly builds 6.6.0.x do not have any changes in the router so I’m a bit worried about the great code that you created.
Man, you’re right! I bet since Alex is and has always been so anti-modern toolkit that he is taking the opportunity to kill all the modern work we did to keep focus on classic. I bet the new 6.6 is really from the 6.5.3 release and he ditched the old 6.6 branch.
6.2 version have a bug, the couros goto the end text .why?
Will there be another GPL release? There hasn’t been one since 6.2.0.
Re: data components in React. React is the base of components, React doesn’t attempt to be a component library. There are lots of good and great data components in the React ecosystem.
Agreed!! And if you are interested in the Ext JS components for React, check out the ExtReact product. Also, we are currently working on v2 which supports React 16 – let me know if anyone is interested in that release – I can point you in the right direction
New GPL?
One killing feature of extjs has always been grid component for me. An advanced, customizble grid is crucial for developers working on data driven enterprise apps as i am. That’s why i am waiting for parity between modern and classic grids. So, what is your roadmap about this? You mentioned about this in general, but for example do you have a plan to add locking columns to modern tookit anytime soon ?
Note: I accidentally posted the same comment to a previous comment as a reply.
According to their latest roadmap, modern toolkit is being deprioritized even though it’s what Sencha has promised for a couple years. It seems they are reversing course and investing more into classic. I see this as a bad decision even though modern didn’t not have feature parity with classic, it gave a chance to reinvent things to setup the future better. Things they want to do with classic will not be backwards compatible anyway also. Prior to people being laid off, column locking (including locking to the left and right, not just one side) was pretty much done and just needed some updates to finish it off but it seems like they don’t have the expertise anymore so it seems modern is a dead duck. Things they have in their roadmap for modern (multiselect combobox, chips) we mostly done prior to the acquisition ready for 6.6 but they have since dumped the 6.6 and started over with 6.5.3 for unknown reasons, maybe the expertise issue with finishing the modern things.
https://staging.sencha.com/blog/sencha-product-roadmap-update/
Thank you so much for this site.
Finally i am done this site for the work in http://syncsettingswindows10.com my system and after using i want to say that i cant get any other site.