Previewing Sencha Touch 2: Native Packaging and Performance

Today, we’d like to give you a glimpse into some of the new features in Sencha Touch 2.0. We’re incredibly excited about this upcoming release and we hope that you’ll share in our excitement by developing some amazing mobile apps.

Let’s start with a quick recap. Since the initial release of “Sencha Touch”:/products/touch/ last year, HTML5 and the mobile web has grown by leaps and bounds. Many developers made the decision to create their apps using the mobile web as a platform, and frameworks like Sencha Touch played a major role in accelerating the adoption of HTML5 and browser-based apps. We couldn’t be happier, and to our community of web developers, we thank you.

Our vision for the future of mobile web app development has been shaped by our outstanding core “community of over 250,000 developers”:/forum/. Your feedback and input into our products has led us to today’s blog on what you can expect in Sencha Touch 2.0.

First, like you, we’re very aware of the growing complexity of devices. With the rise of Android and with the future of Windows Phone as a player, developers want consistent and predictable performance for their applications on every device type. Second, developers are deploying their apps to the web in record numbers, but they still want to be in front of their customers wherever they are. To get on to the native stores, devs have been cobbling together solutions or writing their own shells to distribute their apps to native app stores.

So, in Sencha Touch 2, we’re focusing on how to knock performance out of the park and how to help developers with native app packaging. We’re excited to share with you today some of the things we’re doing to make Sencha Touch 2 the best mobile framework in the market.

h3. Sencha Touch 2: Native packaging, device APIs, and major performance improvements

* *Native packaging* is now a feature in Sencha Touch 2. With just one command, you can package your application for iOS and for Android. You’ll no longer need to write your own wrappers or wrangle with other solutions, it’s all built in to Sencha Touch. Best of all, you’ll be able to package for both iOS and Android from both Mac and Windows.
* *HTML5 Device APIs* aren’t fully available on mobile browsers yet, so we’re adding many of the native device APIs into the packager API surface, letting you take advantage of what future web browsers will enable today.
* *Layouts are getting much faster.* We’re replumbed the internals of the layout system so component layouts are radically faster. You’ll notice right away on a Touch 2 app when you start your app how much faster it starts up and renders to screen. Orientation changes wlll also be noticeably superior.
* *Event Handling* is getting reworked to better respond to touch events on Android. Various mobile platforms handle and dispatch touch events at different rates, so we’ve been working on normalizing this across browsers so apps have smooth and predictable touch behaviors. The list scrolling on Android will blow you away.
* *Image based themes* are being added to the framework for browsers where CSS is slow. Using SASS, Touch 2 will generate CSS based themes as you do in 1.x, but now you’ll also be able to generate image based themes for devices where CSS3 features slow the browser down. This also opens the way to making Touch 2.x apps eventually work on Windows Phone.
* *A rationalized config system* make it easier and more predictable to set up your Touch app. Instead of having to learn every different way in which to configure a component, the new config system streamlines setting up your components. And of course, it’s backwards compatible with the old way.

On top of all these performance features, Sencha Touch 2 will be built on the same architecture as Ext JS 4, so the class system, custom framework builds, and all the robust enterprise features from Ext JS will be available in Touch 2.

These are just a few of the incredible new set of capabilities we’re bringing to Touch 2. We’ve been busy at work building it and we look forward to sharing the first betas as soon as possible. And a quick plug for SenchaCon in October — we’ll be doing a deep dive in practically every part of the framework so don’t miss it! We think you’ll be pleasantly surprised at just how wicked fast building and deploying Touch 2 apps will be.


  1. Roberto Petru says

    Please make ExtJS4 work on iOS devices like the iPad. I recommended against Sencha for a project because it must run on iPad and Desktop browsers, so you needed to code it _two times_ using ExtJS4 and S. Touch.

  2. says

    This is very very exciting news for us, and can’t wait to get our hands dirty with the release! It has also left me very intrigued to know how you have handled the packaging system compared to Phonegap or Titanium.

    The two big questions:
    1: Is touch going to remain free?
    2: Any hint towards a release period? This quarter? or first quarter of 2012?

  3. says

    That is a great news, especially for the Android devices improvements.
    I’ve been working on many SenchaTouch application, and Android issues always scares clients when they valutate to develop theyr projects with ST or not, even if, after all, it works pretty good on Android too.
    So, it’s really great to read that you focused on solving this issues, and bring the the ExtJS 4 core to ST2. I’m really looking forward to put my hands on it ;).

  4. Aditya Bansod says

    @Patrick — yes, Sencha Touch will remain free.

    @all — regarding the release period, “as soon as possible”, but we’re not giving hard dates. Sorry! :-)

  5. Michael Mullany says

    Answers: Touch 2 will remain free – and we’re committed to keeping it that way. We’ll ship the beta when it’s ready, but we think it’ll be available by SenchaCON – but as Aditya says, “no hard dates.”

    We’re doing things in Touch 2 that makes it possible for us to support Windows Phone Mango *eventually* in a future minor release of Touch, but Windows Phone support won’t arrive in 2.0.

  6. interfaSys says

    Great news!
    I hope animations have been accelerated 10 fold and are as smooth as the list scrolling and that we get proper error management when using proxies.

  7. says

    I’m very happy to hear about native packaging and faster layouts. Regarding the former, I’ve been planning to use PhoneGap, but I expect your scheme will be better for nativizing Sencha Touch apps. Regarding the latter, two screens in one of my apps rendered so slowly that I had to strip out significant functionality to get acceptable performance, but maybe I’ll be able to restore it under Sencha Touch 2.

  8. Jorge Mier says

    I’m really excited about the “rationalized config system” and of course the performance improvements and its core being based on Ext JS 4.

    I hope that with the new config system, Tutorials and Docs can be more consistent.
    One thing that I never liked about Sencha Touch, was that even though the API is incredibly extensive, Documentation doesn’t do justice to the framework, and that’s a real drawback for beginners.

    All in all, I appreciate all the hard work put into this framework which i believe is the one with the most potential and why not the best.
    Can’t wait to try it!.

  9. Markus Wichmann says

    I’m very much looking forward to seeing ST2 in action (nice title of a book, isn’t it, Jay? :-D). I’m wondering though if Image based themes are a kind of temporary solution used until mobile devices become faster (which they will, of course) or if this is planned as a permanent feature. Thanks for the preview :)

  10. Allen says

    Is the native wrapper included based upon PhoneGap or something similar that would allow user extension of the native APIs that developers expose?

  11. Michael Mullany says

    A few other answers. The packager will not support linux at least in its first incarnation. The Sencha Touch packager is not based on PhoneGap.

  12. Nag says

    Awesome! great news.
    I was just getting started with appcelerator. I guess i can stop now and focus on Sencha. Good timing.

    When is it going to be available ?

  13. Allan Decato says

    I’m looking forward to the exciting improvements to the Sencha Touch library itself, so thanks for that hard work! However I have one major gripe with the way Sencha is pushing tooling.

    Why not integrate with the quality existing solutions like Phonegap for packaging ?

    Will I still be able to use Phonegap for Sencha Touch applications if I prefer it to your packaging solution ?

    Its a concern that Sencha is becoming a monopoly provider of the entire stack in that unless one uses Sencha tooling to build/package Sencha project it doesn’t work anymore? This is already a problem with Ext4’s module loader / builder system that is completely proprietary, non-standard and anti-competitive. If you want to use RequireJS+UglifyJS instead, too bad!

    Its anti-open source and anti-community behavior.

  14. David Kaneda says

    Allan – You’ll definitely still be able to use PhoneGap. We’re not trying to become a “monopoly” as much as making our build tools the best they can be. We are definitely not anti-community — on the contrary, we’re enabling the community by adding in tools like this.

  15. interfaSys says

    appMobi offers a packager that works on Linux if I’m not mistaken. The problem with all of them, including ST2 I’m guessing is that you still need a Mac to upload your iOS apps to the Apple AppStore.

  16. Allan Decato says

    Thanks for your reply David.

    Great to hear that we will still be able to use PhoneGap. Appears I made an incorrect assumption, apologies for that.

    You definitely enable the community with frameworks like Ext4 and Sencha Touch. I don’t know of any other RIA frameworks pushing the bar as nearly high as Sencha does. As long as the tooling is optional – its also good to have.


  17. Thomas Alexander says

    this is really awesome, i’m looking forward for this.

    But my concern is how easy will be the process of porting current sencha-touch 1.x apps to 2. It says most of the class structure will be similar to that if extjs4 i think it is referring to Ext.define? and other things which is not supported in current ST version. Do we really need to change the code of currently extended component structure to fit into ST2 .
    I think there will be a blog coming explaining all those.

    I’m also exited about Native packaging , which seems to be much handy and simple.

    Thanks for all your hard work :)

  18. jax says

    sounds good but let’s wait and see first how much improvement there will be on my android devices.
    the native wrapping is a waste of development time imho. i doubt it’ll even come close to what phonegap offers.

  19. says

    Before releasing even the beta of v2, I hope you will go through the forums – both premium and community – and review ALL the bugs and feature requests, and address/review them. Yesterday I came across a bug (DataView / List not firing beforeselect event) that has been open since January, with no comment from any Sencha dev. I find this sort of thing quite shocking. It would be galling if this got forgotten about in v2.

    Also the documentation needs a major revamp, and it would be nice if it could be brought up to Ext 4 standards, both in terms of format and quality. I find multiple ST 1 documentation bugs every time I look at it, and if I filed a bug report for each one, that would be my full time job.

    Also there are some worrying comments in the ST 1 source code (e.g. “FIXME: this is not a good solution. Ed Spencer is totally responsible for this and should be forced to fix it immediately.”) so you should also go through the source and address all of these issues before even thinking of releasing the beta for 2.

    I don’t want to sound negative – ST 1 is great, and I’m sure that ST 2 will be greater, and the web way of writing mobile apps is righteous – but I would love to see a bit more commitment from you, Sencha, to crossing the i’s and dotting the t’s.

  20. daniekenan says

    Very disturbing.

    We are struggling with Sencha performance issues, hacking and working around them, instead of coding the application business.

    And what do we get – promises, promises, without even a vague target date!

    BTW, yes, we did pay for services. Did not help.

  21. André says

    Did you fix all old bugs first? Still waiting for a bug to be fixed (since January 2011). I couldn´t release my app because of this. :( So there´s no need for faster scrolling or better class handling, if bugs don´t get fixed.

    greetings André

  22. Manu Goel says

    This sounds fantabulous. Especially native API and packaging. I really appreciate how every version of ST or ExtJS is so much better than the previous one, it makes the previous one look like antique. :)

    But I have some concerns about it. I have been using ST for a POC for an Android tablet (packaging it using Titanium). I have been pushing ST in a big way because I think there is a lot of potential here, but the performance is very poor. The initial demos went really bad because the transitions didn’t look like transitions at all. I tried the ST Kitchen Sink examples too, just in case my code was not well optimized, they too are very slow. The performance is so bad that the management is considering building a native app. Are you testing Tablets for the performance improvements?

    Some of my other concerns are:

    1. There are a lot of bugs, especially the Map is very buggy. And since my app is focused on Maps, its even more painful for me. But I am sure many of them would be fixed in this release.
    2. Orientation change is not pretty as well. Good to know that it would be improved in this version.
    3. Better documentation is definitely required. I am a beginner in ST, and I am facing lot of issues there. I hope it would be much more complete and consistent.

    Don’t get me wrong here. I am a big big fan of ExtJS, ST and Sencha in general, but it is really hard to sell ST when compared to a native app (on tablet).

  23. EZboy says

    I would have to agree with many replies here!!! FIX THE BUGS FIRST !!!
    I’ve been using ST from 0.94a and it was really really challenging with all the bugs and hacks I needed to add.
    Currently I heavily use ExtJS 4.0.5 and there are numerous showstopping bugs there! I can not even consider it being production ready.
    Serious bugs seem to be prominent throughout the product lineup. I understand you guys have investors demanding results and all, but you have to realize one needs to find solid ground first before reaching for the sky! I am really looking forward to ST2, but future battles with bugs just outright scares me. Please fix the bugs and listen to the community!

  24. Aditya Bansod says

    @daniekenan – there’s an updated version of Sencha Touch, version 1.1.1, available to support customers, such as you.

  25. says

    Great news, I like tools and approaches that don’t discriminate between native and web solutions and instead validate and embrace both. Neither is inherently better — it depends on the project requirements!

    And the native “one-touch” packaging… I’m very excited to see that. Sounds like magic! =)

  26. Allen says

    I have to agree with the comments about bugs and community. I love Sencha Touch and have been using it for a year, but the lack of community support is very frustrating. There are 250,000 users that want to work together, want to help build the best platform and applications around, but are held back due to the current process.

    There needs to be a place to go to find the latest version of the stable source code with all bug fixes. (note: I have paid for support, and it does not get you this). The forums are full of posts about bugs that have been found. Some of which have been fixed and some not. I have lost many many man-days of development tracking down a bug only to find out it is in ST, was fixed, but has not been released. My project includes a javascript file that is full of overrides based upon posts on the forums about potential fixes to bugs.

    Similarly, I think it hurts the community that there is not a central place where we can all reference the most current stable code. There are people creating awesome extensions hosted on github and other places around the net, but the core code is available no where to let the same community share fixes, extensions, refinements, etc.

    I think all of this could be fixed if Sencha simply hosted the most recent stable code (along with all known fixes) somewhere like github. It would let all the users get access to any fixes that have been done and provide a way for the community to share improvements and extensions easily. I know ST is not open source, but that doesn’t mean it couldn’t be hosted somewhere to help build the community.

  27. lee byeung ok says

    I think that android and iOS development by eclipse or X-Code not hard to study and use… and It’s ability is very strong compare with .phonegap or else…
    I work. from korea. and make mobile office … and make program of android hybrid platform …

    android sdk is easy… if know some basic grammers..
    and X-Code is also easy to use if know some basic grammers..

    How about Sencha Touch go for HTML5 and make more stable, faster. and beautiful… it will very that One … which We Want to….

    Some Program like phonegap, others… is easy to use … but It can’t use for Big Project (Bank… or Goverment… or other reasons…)…

    I Just want to Sencha Touch for HTML5 and Have More Marketing

  28. says

    @Aditya Bansod: Hey thanks,

    I already have a couple of apps on market build using Sencha Touch. Happy to learn that ST2 is also going to be free from the comments above. Will continue learning more about SenchaT API and develop couple more ideas that I have in my mind using ST2.

    Thanks, Sencha Team.

  29. Roberto Petru says

    Jay Garcia: The iPad can run the majority of “desktop web” applications out there. We are not talking about a tiny screen iPhone. Is a shame ExtJS4 can’t run on iPad and talks very bad about Sencha.

  30. says

    Nice work guys! I also have a question that I have seen a few people ask, but no answers yet. Will Sencha Touch 2 be backwards compatible with 1, or will it be a cumbersome process to upgrade? I am actually starting my app next week and want to know if I should just wait for Sencha Touch 2 to come out, or dive in now, planning to spend a bit of time upgrading to V2.

  31. Thomas Alexander says

    @John Paul
    i’m having same concerns. I would mostly prefer replacing existing sencha1.x core js file with sencha2 :) rather than changing what i have written.
    I have came across a bit complex issue while porting from ST 0.98 to 0.99 earlier( version may differ i don’t remember the actual). I had to go all over the app and make so many changes as certain functions and component names where changed.

    If it is going to be more than that i think, i would have to plan now itself. So that developing app can be easily ported with ST2 version.

  32. says

    The new stuff in Sencha Touch 2 sounds great to me. For the people that are worried about backwards compatibility… Sometimes it’s just not possible if you want to make something great. I’m excited about it, and if the improvements are really that great, I don’t mind rewriting my apps a little bit.

  33. says

    Teasing… It’s nice to hear you’ve worked on scrolling (and, hopefully carousels too). It does give more resistance toward dropping Sencha and moving toward using a series of independent libraries as LinkedIn did.

  34. Mark says

    “HTML5 Device APIs aren’t fully available on mobile browsers yet, so we’re adding many of the native device APIs into the packager API surface, letting you take advantage of what future web browsers will enable today.”

    We have a need to allow a scanner to scan a drivers license, then populate a form with the data. Would that be possible with Touch 2.0 through the native packaging?

  35. says

    @Mark – As far as I know, there isn’t a spec for access device accesories, however there are specs for the device camera. If you’re targeting devices with cameras, such as the iPhone, you can have the user take a picture – but, you’ll probably need to roll your own OCt technique. The node.js community may have cooked up something.

  36. says

    We’re getting ready to get some official Sencha Touch training — when will the open training sessions start teaching Sencha Touch 2? We’re trying to decide if we should do the training or go to SenchaCon… Can’t do both, unfortunately.

  37. Sebastien says

    I’m very excited about this.. but also worried about the transition from 1.1 to 2.0 being difficult. I have spent 2 months now coding every single day on this large and complex sencha touch 1.1 application and I hope that if I need to rewrite a lot of it to make it work with 2.0.. that you will at least provide a guide for porting from 1.1 -> 2.0 and explain what most people will need to change.

    Since Sencha Touch 2.0 was my first personal experience with your products… I am not very familiar with Ext 4 and will need some assistance in the form of examples or a guide when porting the application over.

  38. Giulio says

    @Aditya. Just wanted to clarify something. You mention that Sencha Touch will remain free. When I look at the support subscriptions, there is a section included called “Free Upgrades to next Major Release (w/in 12 mo.)”. What does the mean ? If Sencha Touch is free, wouldn’t I be able to obtain the new major releases for free anyway ?

  39. says

    @Dave Haynes:
    I would recommend SenchaCon over the ST1 training… They will have many sessions to get your hands dirty… Plus, the value of networking with fellow programmers and software providers is a huge bonus. Oh, and let’s not forget the sneak peaks…

  40. nilesh chavan says

    Great News to build for different platform with one touch !!!!!!!!!!!!!! waiting for it….
    Also please let us know whether Sencha Touch 2 will support Localization and web service integration SOAP protocol ?

    Please provide more documentation, learning tutorial for touch chart on sencha touch 1 and 2 because it is hard to get the hands-on on sencha touch.

  41. Jeff T. says

    It would be great if we can get more details on when ST will work with non-webkit browsers. ST is awesome with webkit browsers! Without support for non-webkit browsers, ST will have less than a year shelf life within our company. We are even willing to re-write our mobile app with another framework just so we can reach a larger audience. We hope it doesn’t come down to this decision. More road map details will definitely help us justify staying with ST and continue to pay for support.

  42. ChemicalOli says

    Will Sencha 1.1.0 code be backwards compatible with Sencha 2.0 or are we all going to have to re-write our apps in order to take advantage of the fixes? If this is the case perhaps 1.1.1 could be made publicly available?

  43. Romedj says

    We are beginning a large Sencha Touch app and it would be nice to have some basic guidelines to follow that would make moving to ST2 as painless as possible. We currently have a very large ExtJS3 product and am working on another large ExtJS4 project so we know some of the guidelines. One day we will move the ExtJS3 product to ExtJS4 and that could prove painful and would have been easier if we had knew in advance the major changes in ExtJS4. So as much early info on hot to code now in ST so that a move to ST2 will be a smooth as touch glass.

  44. says

    I’m just getting started on a Sencha app as well, and wondering if it’s worth it. Can we get a response on backwards compatibility with the current syntax?

    It looks as if this is mostly an internals update, so I’m hoping 1.x apps will be backwards compatible.

  45. Aditya Bansod says

    @ChemicalOil, @Romedj, @Seth — ST2 will be by and large compatible with ST1.x. There are a few API changes and some updated best practices. For older APIs, we’ll patch most of them through so you can continue to use them and you’ll get a deprecated warning. We’ll also be posting a migration guide. The biggest change will be the introduction of the Ext JS 4 class system, so the way your apps declare classes will change. We’ll be making it as easy as possible, but with any major upgrade there will be things that change.

    @Jeff T — the one non-WebKit browser we’re looking at and planning on supporting in the future (not for 2.0) is IE Mobile. It’s in our plans, but not yet in our schedule.

  46. gkatz says

    Thanks for the update. few questions/comments:
    1. please try to have native orientation type choosing (such as in phonegap). I have a sencha native app that I need to have in portrait only and I will probably want to make the move toward using your packager
    2. any new components we should know about?
    3. many people are struggling with having pinch/zoom in image carousels. will ST 2 address this somehow?
    thanks guys!!
    4. slightly off topic. will there be an update on sencha charts soon? (I have encountered several weird behaviors with interactions freezing the device etc that I cant really debug)

  47. Aditya Bansod says

    @gkatz: 1. yep, we’re working on. we’ll ship with that in the beta; 2. none yet; 3. have you posted this to the forums? ideally there’s a bug report there that we can take a look at.; 4. yes, there will be. no specific dates yet, but we’re working on them to make them more reliable.

  48. Colin says

    Can you tell me more about Native packaging.. how to build application for iOS and Android?
    By how? Ext designer? or any other tools?
    Does Sencha Touch has IDE?

  49. Mark Barnes says

    Hi Aditya, any word on when we will be seeing Sencha Touch 2? I have come across this package only in the last couple of weeks and this seems by far the best package. I am a complete novice so if I have to learn I want to learn with the newest package! Feels as bad as waiting for the iPhone 5 release date!

  50. lee byeung ok says

    This writing is a biggest news and I hope that it will come true more efficiently. but
    most of developers of sencha touch2 who learn it start… are stopping the study of ST2…

Leave a Reply

Your email address will not be published. Required fields are marked *