Last year I wrote a post summarizing the state of ExtJS. I’ve been a longtime user and fan of Sencha products, but this post was an honest assessment of the state of ExtJS, Sencha Touch, and Sencha in general.
The post generated a lot of good conversation, including Sencha themselves chiming in. The short story is that ExtJS had lost its luster due to theming and responsive UI limitations, but Sencha Touch was still the best mobile web framework—though the competition was closing rapidly.
Fast forward a year and it’s now time to look at what has changed. I had the opportunity to go to SenchaCon this year, see what’s new, and also talk with the Sencha team. This was my third SenchaCon and it’s still my favorite technology conference. This year was no exception. After seeing what the Sencha team has been working on, it reaffirmed my belief that Sencha still has its best years ahead of it.
Here is an overview of the major pieces of the Sencha ecosystem, as well as some recommendations on what you should and shouldn’t be doing with Sencha products.
The current version of ExtjS is still in the same world of hurt it was in last year. Theming is still a nightmare and the interface elements are not mobile friendly. Fortunately for Sencha, the bright light at the end of the tunnel for ExtJS isn’t a train but an awesome new release on the horizon.
The next version of ExtJS works hard to address a lot of the shortcomings. The Neptune theme finally gets awesome with easy theming support via Sencha Architect, and the interface elements are finally mobile friendly, including a grid that works on tablets.
As of October, the release hasn’t dropped yet, but the other new releases are trickling out, so it can’t be far off.
It’s pretty clear from SenchaCon that the Sencha team has not been sitting on their hands waiting for JQuery Mobile to catch up. Sencha Touch firmly holds its place as the fastest, most complete mobile web application framework. Jacky Nguyen’s presentation of the Building of Fastbook was worth the price of the conference alone. It really brought home how far ahead of the game Sencha is on building and tuning a high performance mobile web framework.
The next release of Sencha Touch pushes even further. They’ve ironed out the wrinkles, added support of iOS 7, and improved native packaging, including Apache Cordova support. There is also now an excellent touch grid component, although it is only available via one of the commercial Sencha bundles and not the free download.
I didn’t touch on Sencha Architect last year because while I found it kind of cool, it was never really useful due to the high learning curve. I wasn’t willing to put the time into it, and I suspect a lot of other developers felt the same way.
That’s all about to change. The next version of Sencha Architect drifts pretty close to being a full IDE. Sencha is incorporating common design templates to get projects bootstrapped quickly, and they are adding extensive context-aware help and tutorials to get people over the learning hump.
Theming of both ExtJS and Sencha Touch can now easily be handled via Sencha Architect, and user generated components can now be included on the component pallet.
Sencha Architect has evolved from a nice-to-have tool for Sencha developers to a must-have tool with the new release.
Simply evolving their frameworks in a game of leapfrop with their competitors won’t keep Sencha at the top of their game. They demonstrated several new things this year that shows they’re in this for the long haul.
Sencha Space was the big announcement this year. I suspected Sencha was working on a browser based on some comments they made two years ago at SenchaCon 2011. They’ve actually gone even further. Sencha Space is firmly focused on enterprises, allowing them simple, consistent device management of Sencha Touch applications.
Sencha Space provides a secure runtime environment for Sencha Touch applications, including security, deployment, and auditing. This is a pretty visionary leap. It remains to be seen how it will evolve given it is still only a developer preview, but Sencha Space might end up being a real game changer.
This will be a huge boost to developer productivity, and it will also make the Sencha tools a lot more enticing for web developers and enterprises looking to ditch proprietary plugins like Flash and Silverlight.
What to Do
While there are a lot of great things on the horizon for ExtJS, the current version is sitting in the same painful position as last year. If you have a project currently invested heavily in ExtJS, you’re basically stuck until the next version hits. With most of the major pain points resolved, the next major release of ExtJS is the one you really want to be on. I would soft pedal any ongoing development and start playing with the early release versions of ExtJS to size up what the migration will cost.
Migrating to the next release, assuming it includes the declarative interface markup, will be a must-have for any current ExtJS application. I recommend not starting any new ExtJS projects until the next release hits.
For new applications, you might also consider using Sencha Touch. It was clear from SenchaCon that Sencha is positioning Sencha Touch as a mobile-first framework that can scale up to the desktop. The only limitation is it won’t support outdated browsers (anything before Internet Explorer v10). ExtJS will continue to support legacy versions of Internet Explorer for those enterprises stuck on outdated versions of IE.
For mobile web development, Sencha Touch continues to lead the pack and will continue to do so for the foreseeable future. There is not a more complete solution for mobile web development and you shouldn’t be afraid to invest in this skillset.
Sencha Architect also moves from a nice-to-have to a must-have with the next version. With support for user generated custom components and the improved help and theming, this is a tool every Sencha developer will want to have in their toolbox.
Sencha has come a long way in a year. The next version of ExtJS addresses most of the shortcomings I found last year, but the unknown is when it will actually release. Also, the declarative bindings are a huge deal. If Sencha can’t deliver on those with the next version, I would defer any ExtJS development until it does.
If you have questions about your Sencha projects, from implementation to architecture, feel free to contact us here at Credera at firstname.lastname@example.org or via Twitter at @CrederaOpen.