Ext JS 4 is the latest version of the popular JavaScript framework developed by Sencha, Ext JS.  Since the last version, Sencha has been boasting that Ext JS 4 will be the best, most comprehensive version of the framework to date, including many new features and performance improvements. Here is my review of their latest version.

New Features – 4/5

They have really gone to town, introducing new features in this latest version of Ext JS. The main features that were introduced were the following: -

  • JavaScript Charting Engine
  • MVC Application Architecture
  • Drawing Vector Graphics
  • New Class System
  • New Data Package
  • Dynamic Theming using SASS

Sencha have made a real effort to provide a framework that has crossed all the T’s and dotted all the I’s, and I believe that it has done that. The new Charting engine works well and very fast, relieving many of us to know that we don’t need to rely on flash anymore within Ext JS to render charts.

However, on a negative point, it seems that in order to implement so many new features, a sacrifice in attention to details was made. Although all these features work most of the time, it seems that they were rushed into the framework and not fully integrated within all other related components within the framework. This was annoying to begin with, but forgivable due to the sheer amount of changes that the development team has made in this update.

Overall I feel that the new features really add value to Ext JS 4 and are a definite improvement upon the previous version.

Ease of Use – 3/5

Ext JS has never been popular for how easy it is to use. There is a steep learning curve in order to master its full potential. However, this latest release of Ext JS has made great steps into opening up the framework to a larger audience that previously were unable to pick up the complexity of the framework.

Ext JS 4 now has more complete documentation, better guides and simpler syntax which makes the framework more attractive to new users. However, the documentation has a fair amount of mistakes and incomplete entries within the documentation which is disappointing.

Upgrade Transition (3 to 4) – 3/5

Due to the large amount of changes and additions to the framework in version 4, upgrading your version within existing Ext JS apps was never going to be a simple task. With syntax changing, the class system revamped and some classes condensed or removed, there was always going to be a difficult migration. The Ext JS development team did make an effort to ease the migration process by providing a compatibility layer for this transition. However, this was more of an after thought and did not work nearly as well as first hoped. The migration documentation and compatibility layer were also delayed repeatedly at the first releases of Ext JS 4 which left some of the community unhappy.

Overall I felt that migrating a larger Ext JS 3 app over to 4 is a mammoth task, one which takes a lot of patience. I feel that Sencha should have given this a lot more thought right from the off, rather than leaving until late to consider it as an after thought.

Performance – 2/5

The performance is one of the biggest let downs for me. The hype leading up to the release of Ext JS 4 was promising a huge performance increase, greater than any version before. Although, after it was released, people were realising that the performance for many components and rendering had actually decreased.

After running tests on the rendering and loading time of several components, we realised that Ext JS 4 was running at about 1/3 of the speed of version 3, which was particularly irritating because we were promised faster performance.

Documentation – 3/5

Another one of Sencha’s supposed improvements was that the documentation was to be more complete, easier to follow and easier to use. They did manage to achieve some of their goals, however the documentation that was released had several poor aspects.

  • Functionality was faulty
  • Missing methods and classes
  • Incorrect information and typos
  • Slow load time

There seems to be a lot of strife within the Ext community in regards to the vital need for complete documentation. This is something that at least Sencha have admitted and are working on currently, and to give credit, when credit is due, they have made some good improvements already.

Support – 3/5

Obviously if you want the best support, you need to pay for it, and the paid support for Ext JS isn’t bad. However it does seem clear that the support for normal users is very limited. The community help each other overcome problems they find, but the Sencha support from these forums isn’t that great. Help being given to maybe one in ten people, and if a problem arises that is more complex than the average problem, it is discarded without response.

Overall I think that the support is so-so. Sencha have a lot on their plate fixing and improving the framework, but the support is nowhere near what it could be.

Updates & Patches – 2/5

Sencha does provide relatively frequent updates to its users, providing beta and developer previews prior to the official launch of Ext JS 4. However, often the releases promising fixes and additions fail to live up to expectations, sometimes not achieving what was promised at all.

Another issue I have personally found with updates & patches is the priority in which they are dispatched. I understand that paying premium customers are going to be given priority, but what eludes me is that when a bug is reported and solution provided to Sencha by the general population, they are not always allowed access to the fixes they have provided. Personally this seems like Sencha are happy to receive but less inclined to give back.

Browser Compatibility – 4/5

I know from experience of web development, how difficult it is to cater for all browsers, new and old. However I feel Sencha really do deserve credit in this department as 95% of browsers work as intended, unless users have made custom modifications. Catering for browsers back to IE 6 is a nightmare and am perfectly satisfied with the effort made here.

Overall – 3/5

However fond I am of the Ext JS framework which I would rate very highly compared with other JavaScript frameworks, this release has left me disappointed. Developing JavaScript frameworks is not an easy task and I feel that Sencha made a mistake by promising us a release date as soon as they did, which in turn, pressured them into making a release. I feel that the framework wasn’t ready to go and the testing run had failed to reproduce the flaws that the framework had. Given an additional couple of months development time, while taking compatibility into consideration from the beginning and giving the framework that extra polish, we would be looking at a 5/5, but instead I feel I can only give it a 3. I hope that Sencha learn from their mistake on Ext JS 4 and the next version will be an out and out success.