We are extremely excited to announce that the beta version of Sencha Ext JS 5 is available for public access and evaluation. This beta release enables you, our Sencha community, to test and evaluate our Ext JS 5 work in progress. For all the Ext JS developers out there, this a great opportunity to help make this the best Ext JS release ever.
And since this is a beta, we advise against putting it into production just yet.
Goals for Ext JS 5
We’re proud that Ext JS has become the industry standard for data-driven single-page applications. Engineered to grow with teams and projects, Ext JS powers applications that have successfully scaled to hundreds of screens and hundreds of thousands of lines of code. For intelligible, maintainable web applications, with clear separation of structure, behavior and visuals, we believe that the architected, component-centric approach of Ext JS is simply unbeatable.
When we sat down to design Ext JS 5, we wanted to take everything that made Ext JS great and make it even better. We had three themes for our development process. Our first theme was to Make Multi-Device Development Real. Ext JS 5 is our first release that allows the same code to power both desktop and touch device experiences, with a gesture system inspired by Sencha Touch. There are two fresh multi-device themes, so our rich set of UI components look and feel at home on both touch and desktop screens.
Our second theme was Evolution not Revolution. Perhaps the most important thing that hasn’t changed in Ext JS 5 is that we continue to make Internet Explorer 8 a first-class browser. We made this decision because a solid majority of you told us that IE8 support will continue to be a requirement for your applications through 2015 and beyond. We’ve also made smooth upgrades from Ext JS 4 a priority. As we’ve added and upgraded functionality, we’ve minimized breaking changes in our public APIs.
Our third and final theme was Developer Productivity. As we designed the new two-way data binding architecture, our goal was to vastly reduce the amount of code developers had to write to implement common UIs. In many cases, tasks that used to require several listeners can now be reduced to a few binding directives — which can be seen in some of our Kitchen Sink examples. Through the use of declarative listeners, views can now often be completely code-free, allowing developers to not only cut code size but maintain better separation of concerns at the same time.
As you can tell, we’re proud to release this beta to the community and hope that when compatibility, productivity and user experience matter most, Ext JS will continue to be your proven way to deliver the best engineered applications to your end users, customers and clients.
Now, on to the new features! Ext JS 5 has a myriad of new features and improvements. Here are some of the best:
- Two-way data binding is a new mechanism that allows changes made in the view to be automatically written back to the model (and vice versa) without the need for custom event handlers.
- Grid gadgets are new lightweight components useful for embedding within grid cells. Widgets and buffered updates make Ext JS grids even better, enabling richer data visualization and real-time data updates.
- Touch-optimized charts is a new charting package that comes with features like 3D charts, financial charts, and multi-axis. It also has faster performance, cleaner code and a great experience on touch-screen devices. (The existing chart package is available as a separate package, so you can still use it.)
- Routing allows application deep linking by translating your application’s URL into controller actions and methods.
There are numerous other enhancements and improvements related to MVC and performance in general. Read What’s New in Ext JS 5 for an exhaustive view of every new feature.
Another goal of Ext JS 5 is to converge much of the framework core between Ext JS and Sencha Touch. In Ext JS 5, we methodically converged code for the class system, data package, and feature/environment detection into a common core, so it can be shared across Ext JS and Sencha Touch. These shared components enable the creation of applications that share resources regardless of the framework.
Ext JS 5 supports IE8+ and the latest tablet platforms such as iOS6/7, Chrome on Android 4.1+, and Win 8 touch-screen devices (such as Surface and touch-screen laptops) running IE10+.
Beta Availability
Ext JS 5 beta is available for download immediately along with a beta version 5 of Sencha Cmd which is available for Windows, Mac OS X, Linux/64, and Linux/32. Check out our examples on a tablet.
We’re working hard to release Ext JS 5 in finished form as soon as possible, and we need your help and feedback to make that happen. Try out our new kitchen sink examples, migrate one of your smaller apps and report bugs, issues, or errors on the Ext JS 5 Public Beta forum. We look forward to your feedback.
ViewModels and ViewControllers will enable you to develop even more awesome apps… this is a HUGE improvement! Developing performant, enterprise-level, multi-device apps has never been easier!
And play with Ext 5 and all it’s themes in Sencha Fiddle: https://fiddle.sencha.com
Hi,
The revised Portal is based on the new Ext.dashboard.Dashboard component. http://docs.sencha.com/extjs/5.0.0/apidocs/#!/api/Ext.dashboard.Dashboard
Great to see resizable columns, empty column cleanup, column creation via drag/drop and item persistence.
Is it possible for a “portlet” to have its borders invisible and
visible only when mouse is over it ?
Awesome!
Two-way data binding, routing, responsiveness, ext4 compatibility… If all that comes true, that would be just fucking awesome framework :-) I love Sencha, but if this is as good as promoted, I’ll be super-happy :-)
@Konstantin Give it a try and let us know! This is only beta so expect some bumps but let us know about them so we can smooth them down.
@Konstantin: Check it live: http://dev.sencha.com/ext/5.0.0/examples/index.html
Upps! Why the docs are not contained in the link?
@Mario Like with Sencha Touch, the docs are not distributed anymore. You can view the docs online via http://docs.sencha.com/ext/5.0.0/apidocs/
Congratulations! ViewModel and ViewController is how the MVC should have been, so I’m really happy you guys implemented it with a true MVC clear separation.
Also love the Two-way binding, it’s great and spares so many listeners being created for the purpose
Did I miss something, or is there any Dependency Injection mechanism?
@Rafael Like with Ext JS 4, you use Sencha Cmd to build your application into a single JS file.
@Mitchell Simoens But in ST you can donwload the docs. The problem is that I can’t be connected all the time so the online docs are an issue for me.
“And since this is a beta, we advise against putting it into production just yet.”
If it is like Ext 4 I would advise against putting 5.0.x in production as well unless you want terrible performance, half baked features and loads of bugs. Expect features that look nice on the sample but lack key features needed in development e.g saving associations. Expect the layout engine to be rewritten and 10 times more complex in a minor revision. Also expect that any non trivial application will be broken on patch level versions.
@ExtDeveloper Looks like you haven’t given Ext JS 5 a whirl yet. Ext JS 4 was a rewrite from Ext JS 3 and there were issues with that and at times tough decisions had to be made to change parts of the framework. Ext JS 5 isn’t a complete rewrite, in fact it’s taking Ext JS 4 and building from that. If there are holes in new features that you would like filled, during beta is the time to post them in the bugs forum so that we can get the feedback. This is what beta releases are partly for.
Where does this leave Sencha Touch? It sounds like you’re merging that product into ExtJS. Does that mean Touch is dead? What does the upgrade path look like? It seems like that will be a pretty big transition.
Sounds great!
1. Pricing – new vs upgrades from ExtJS 4?
2. Compat with Sencha Architect?
@JW: Sencha Touch is very much alive. These multi-device improvements for Ext are focused on adding touch and gesture capabilities to Ext components, a feature that has been requested a lot in the past. As for the upgrade path, there are certainly some things to consider, i.e.: several improvements to the Ext.data package and the Element and Component classes. Remember that thanks to the development-mode compatibility layer, you will receive errors if you call a method that has been removed in Ext JS 5. Check http://docs-origin.sencha.com/extjs/5.0.0/whats_new/5.0/extjs_upgrade_guide.html for more information.
@Mitchell Simoens thanks for the honest response. I have not checked out 5 yet, I hope it is great but I am hesitant about it. I am not sure who made the decision of releasing 4 before it was ready but guys like you and I have had to deal with the shortcomings of that decision for the last 3 years. It looks like the move to 5 won’t be as big of a rewrite as 3 to 4 but IE8 and mobile support is a huge undertaking in itself. I may have missed this but is there a way to not have IE8 support (isIE checks, tables vs divs, no ES5) inside of the core product and make it as an add on instead ?
@ExtDeveloper understandable about being hesitant, I’ve been using it for a little while now and in many spots it’s faster than Ext 4 is. I’m sure there are some bumps to be ironed out but I very much have faith in Ext 5 and the framework it is and that’s not just marketing talk. :)
I’m currently upgrading Sencha Fiddle to use it and the upgrade has been very seamless, took me less than 30 minutes to do the upgrade, just some small API differences that Ext actually had console.logs to tell me about.
About having legacy IE being an addon. I can see some wanting this but it also creates overhead for those who want it which was a big majority when we surveyed about what browsers are important. We’ve changed the DOM structure in many places to optimize for particular browsers and using tables for fields is gone now.
We want to hear every little bit of feedback, every little bug, every little improvement we can make. The forums are the best place for these discussions.
Awesome! going to download and then try to build some thing amazing!
Thanks everyone for so quickly jumping in – being involved with the beta is the best way to help us make sure Ext JS 5.0.0 is the best possible release it can be. We want to hear about your experiences and suggestions so thanks in advance for trying out all the new stuff and getting us that feedback – see you in the forums! :)
Looks great and new features are awesome.
I understand that this is the first beta and things will only get better – but my only gripe right now is the new theme. It looks great, clean and modern. BUT bloody huge for the desktop. Massive paddings, margins and font sizes. Perhaps you can downsize the desktop version of this theme?
@albert – Thanks for your comments. We are aware that Crisp and Neptune Touch can look huge on large screens and we are looking into downsizing based on screen sizes. Our initial target was to support touch gestures, for which we needed to increase the sizes.
Ohh man, this is really awesome. The data binding looks reaaally impresive. Also the new MVVC structure looks way more intuitive. The Crisp theme is simple and nice.
Excelent work guys. I’m looking further for the GA release.
Good work guys :) can’t wait to have some spare time to get my hands dirty with this.
Excellent, congrats guys for all the hard work all these years ! Cant wait to deploy Ext5 in production!
Cheers !
@Mitchell Simoens: Could you clarify some of the claims about browser compatibility in ExtJS 5? The blog post mentions that IE8 compatibility was targeted and achieved, and it says IE8+ will be supported, but there is no mention of IE6 or IE7. Does this mean that IE8 will be the new minimum supported?
If so, why does ExtJS 5 continue to use a JavaScript layout system? IE8 supports all of the CSS properties necessary to accomplish the layouts necessary for a standard application, so this seems like a ripe opportunity to eliminate a lot of performance limitations and complexity in ExtJS.
My organization is looking to move away from our ExtJS 4 application because of the restrictions imposed by the Javascript layout system. A move to ExtJS 5 would be very attractive if the layout system were op