Unanswered: Sencha Touch 2 - how mature?

Unanswered: Sencha Touch 2 - how mature?

Hi guys,

I just want to ask for some opinions about how mature Sencha Touch 2 is at the moment. I see for example quite some post around problems on Android devices, are some of you already running Sencha Touch 2 based apps successfully in the mobile world?

Sencha Touch seems to be one of the most promising frameworks out there, just wanted to hear some opinions before i decide which framework i will focus on the next weeks.

Can I just add my own experience to this? I've been using it for 2 months or so to create an application for work.

Look at how basic the examples are. If you want anything more than that, you're screwed and you'll spend months ripping your hair out.

You'll notice in all of the examples that they only use the core/base components like List. If you want a list of names then you're good to go. If you want something with nested sets of data and to loop through them to create parts of a view then you're screwed.

You may notice localisation is missing from the actual framework but it's not that much of an issue with the one that Mitchell has made, it works pretty well in my opinion.

The documentation is quite like a fluffer in the industry... it get's you most of the way there then you're left on your own as there is important information lacking (like the JSON required to achieve what they're talking about).

...
Look at how basic the examples are. If you want anything more than that, you're screwed and you'll spend months ripping your hair out.

You'll notice in all of the examples that they only use the core/base components like List. If you want a list of names then you're good to go. If you want something with nested sets of data and to loop through them to create parts of a view then you're screwed.

You may notice localisation is missing from the actual framework but it's not that much of an issue with the one that Mitchell has made, it works pretty well in my opinion.

The documentation is quite like a fluffer in the industry... it get's you most of the way there then you're left on your own as there is important information lacking (like the JSON required to achieve what they're talking about).

And that is when you turn to the forum or Google (or other search engines) for help.. Nothing helps more than being a little more resourceful before getting angry at a company who provides such an already detailed and complex API.

Sencha Touch is only in version 2. Don't forget that a piece of work is never perfect and easy and there is always room to add more.

And that is when you turn to the forum or Google (or other search engines) for help.. Nothing helps more than being a little more resourceful before getting angry at a company who provides such an already detailed and complex API.

Sencha Touch is only in version 2. Don't forget that a piece of work is never perfect and easy and there is always room to add more.

I've lived on the forum since then and I'm googling around like crazy. There are many comments on the documentation and there doesn't seem to have been many additions in the areas that are lacking.
For me the hardest part of using ST2 has been how mature it is. Using jQuery for so long now, if you want to know anything you can put it into Google and you instantly find the function that you need to use. Try the same thing with ST2 (for instance you're looking for something similar to jQuery Closest $('.blah').closest('meep')... I can try at least 10 different combinations of sentences and I won't come close to finding anything out.

In fact, I honestly cannot even find anything to do with traversing the Dom/Components through Google. You come anywhere close and it's ST1. I found out how to do this eventually from the forum but after weeks of looking about.

I consider myself pretty good at HTML, CSS, JS and jQuery so my company give me 2 months to learn ExtJS+ST2 and create a mobile application using Architect. They even took me to SenchaDevCon2012 which I left without a clue.
Architect makes out through marketing that you'll have your Mobile site up and running within hours and I've been scratching my head since then for even the most basic things.

It's great if you want to throw in a list of names with a titlebar (like in all of the examples) but as soon as you move outside of the box, you're on your own. Literally.

I can't say for certain about Architect because I have never used it, but I believe Architect is mainly used for the tedious parts of the development process. I see that Architect comes with a code editor as well so that is where the hard stuff you are mentioning would probably take place.

My point is, Sencha Touch is still maturing and not all the glorified functionality and innovation is hand delivered to developers on a silver platter...

Thx jerome76 and intellix for your feedback. Surely Sencha making a framework like this with a free commercial license available is awesome. As jerome said

Sencha Touch is only in version 2.

and i am sure there is a lot progress happening at Sencha. Nevertheless the question seems how fast it will mature and if it is too early to rely on it at the moment. Having this in mind the following up question of course what cross-platform mobile development alternatives are out there which proves to be more mature. I am looking around for a while now and many of the frameworks available seem not to be mature either. Any suggestion?

A coworker and myself have just built a mobile front-end in sencha touch for our maintenance system (work orders, time registration, billing of consumed materials, ...). To give you an indication of the size of the app, cloc.exe tells me it's about 7000 lines of javascript (functional lines, whitespace not included). It's going to be used by large multinationals, so we needed reliable operation.

Our experience:

Coming from an ExtJS background the ST model was a really smooth fit for our backend services. Apart from that functionality which we hadn't yet exposed as web services, we could just reuse the existing web services as-is.

The MVC architecture is easy to use and pretty robust. It scales well if you take some basic perfomance rules into account (don't load too much UI at once, avoid deep nesting, try to load on-demand as much as possible).

The code quality is high in the 2.0.1 release. It is on par with ExtJS in my opinion.

A tricky issue is that of device support. You only get (a subset of) webkit browsers, and they need to have beefy hardware. Several of our test phones are outside of ST's comfort range (old android, windows phone). For this reason we're still supporting a basic html front-end for unsupported devices. In practice I would say that the currently sold android phones will all run ST well, but the experience on phones from a year or 2 ago may not be acceptable. It depends strongly on how you architect your app though. I've found that the more you nest components and the more you use the navigationview the slower things get.

Another gap is the translation system. We allow customers to translate our app using an admin module, and we needed to support offline operation. We struggled a bit trying to integrate mitchell's community add-on with our codebase, but eventually rolled our own solution. YMMV.

Also missing: a progress bar. This is crucial for offline apps to show sync progress and appcache updating progress. I ended up integrating this pure-CSS progress bar: http://css-tricks.com/css3-progress-bars/

Offline is doable, but you need to study up on HTML5 appcache and localstorage, because the built-in stuff falls somewhat short of the mark in my experience.

Theme support is excellent. Once I got the hang of compass I managed to replicate our native mobile app look&feel. It took me perhaps a day to do that.