It was quite some time silent around here. We was really busy with upgrading our frameworks, build processes and deployment tools to ExtJs 5. Awesome experience, much cleaner code, faster UI, and tons more.
But what i want to talk about is already about ExtJs 6 today. My impressions from the SenchaCon 2015 Roadshow in Karlsruhe, where i’m just arrived home from.
Sencha already announced, that they merged ExtJs and SenchaTouch into a single framework. Something the folks are waiting for a long time now. But from a developer and UX/UI understanding hard to solve. If you ever tried to solve running a single application on different platforms with different behaviour, you may know what i’m talking about.
Sencha seems to go a similar way like Apple’s iOS universal strategy. Having shared source for models and controllers and platform dependent views. First hand a good idea. But Apple uses this for similar platform approaces and they are just two of it: phone and tablet. Sencha has to manage this for a third one: desktops. Other may also think about TV’s as fourth option or even the new wearables like the Apple Watch, Sports bands, …
In my opinion, Sencha doesn’t solve this quite well. They moved old ExtJs views out in a new folder structure called classic now. It is intended to also solve issues with lagecy browsers for a short to mid term solution until everybody will support Html5 well. The duplicated view structure under modern represents the views which was the old SenchaTouch part (or better the new Html5 stuff). They are fully done with Html5/Css3 features.
Sencha is now supporting a way to build hybrid Apps in a form that you can decide which build configuration using the classic toolkit (ExtJs view style) and which one uses the modern toolkit (SenchaTouch view style). The core is mostly based on ExtJs5. I guess touch events are now much better supported at least. Migration may be a bigger pain for SenchaTouch apps as it looks for ExtJs5 apps i guess.
Have a closer look to the build and file structure shows, that hybrid means, you can only build two platform variants. Other ways has to be solved by responsiveConfig and platform configs. No chance to really build different app behaviour for desktop, tablet and phone (only two of them can be really different). That you can already solve in an SenchaCmd5 workspace yourself with ExtJs5 and SenchaTouch 2.3. One of the speakers said: “you have to cleanly decouple your code anyways for that”. So if you already wisley decided to decouple your businiss logik into a separate package(s), you can easily provide this already today. For sure, ExtJs6 will also bring other new cool stuff you won’t miss.
Some other cool things was shown there too. There will be a nice plugin for JetBrains IDE’s like PHPStorm, WebIDE, … to manage ExtJs sources right. Nice code completion, SenchaCmd intergration, …. other IDE’s should follow.
They also provide a new standalone inspector. This one works well together with all browsers. Instead having it as another browser-slowing-down-plugin it is a standalone application communicating with opened browsers. It nicely presents what you have on your page, live changes/updates possible. They even think about updating your source based on changes made in it or hopefully get out a changelog at least. So you can play around and after some trial and error you will know what changes you have to make in your code.
Nevertheless it looks again as a cool improvement. Worth to spend some time on and migrate as fast as possible. The beta should be available from today on. So go ahead playing and have fun.