It's been a long time in the making but it's finally finished and I'm really excited. So if you'll indulge me for just a little be I'll try not to be too "sales-y" and I'll even throw in some free content from the guide. The book is Beginners Guide to Sencha Touch, and I wrote it because I love the Sencha Touch framework but I ran into a lot of frustrating obstacles whilst trying to learn that took way longer to overcome than they needed to. Some of these things included:
- Why should I learn Sencha Touch and how does it compare to other options such as jQuery Mobile, Titanium, Xamarin etc.
- How Sencha Touch actually works behind the scenes
- How to use Sencha Cmd Commands
- How to use PhoneGap and PhoneGap Build with Sencha Touch
- How to create a native build for iOS without a Mac and XCode
- How to integrate with Facebook
- How to submit to app stores
- …and so on
There's plenty more so feel free to check out the table of contents here for the rest. There's a few great books out for Sencha Touch already (including Sencha Touch in Action which was co-authored by Mitchell Simoens who I interviewed for this book) but Beginners Guide to Sencha Touch is much more like a guide (hence the name) than a traditional textbook. It focuses on the bigger picture, how everything fits together and how to do it rather than getting really in depth into the specifics of the framework. It is intended to be read alongside your learning, and should be immensely useful as you progress down that path.
It weighs in at just over 200 pages, comes with the full source code to the example application that implements a lot of what is talked about in the guide (including how to integrate with Facebook and set up the native Facebook log in) and five interviews with experts. These guys are all very experienced with Sencha and I've taken away a lot of great lessons from them (I've linked all of their blogs below):
You can grab the entire second chapter 'Why Sencha Touch' for free from the landing page, but here's a snippet that includes a part of the interviews with some of these experts from that chapter:
Throughout this book you will find various interviews with Sencha Touch experts. In some of these interviews I asked why it was that they decided to use Sencha Touch, perhaps over other options that were available. Here's what they had to say:
"Sencha Touch is our primary choice for mobile web and Phonegap based applications. We used few other libraries like jQuery Mobile, Kendo Mobile etc. too but we always preferred Sencha Touch for developing and theming mobile apps.
We like Sencha because it provides smoother user experience and easy theming mechanism; it has rich UI set and it is highly customizable." – Swarnendu De
"I have spent some time with some competitors to Sencha Touch to compare the strengths and weaknesses of each solution as Sencha Touch may not always be the right tool for the job. Overall I find Sencha Touch handles more use cases more elegantly. Sure Sencha Touch doesn't do some things as well or at all than some other frameworks but since I have spent countless hours with Sencha Touch I know that I can usually create a solution to fill the gap. Sencha Touch does a great job allowing you to extend it, the class system and config object is very powerful and flexible." – Mitchell Simoens
"The library is really amazing. It gives developers great tools to build a diverse range of applications. With the Sencha Touch class system developers also have a lot flexibility to modify classes to suit their purposes. I think it's clearly a far more feature rich mobile JS framework than anything else currently available. The tools built around the library (CMD, Architect) are a huge advantage as well." – Phil Merrell
"I come from a web design background, and looked for similar technologies that could provide me with a cross platform approach to app development.
I started with JQTouch but, frustrated with the limitations of a website-like approach to application development, nearly gave up on the web technologies approach until I found Sencha Touch.
The kind of applications I develop need to handle and display sports data – the way Sencha Touch handles data is perfect for this, and being able to develop quickly, and then deploy to both iOS and Android, is invaluable.
I looked at other cross-platform development tools such as Xamarin and Titanium and even used both for simple app prototypes. I simply found with Sencha Touch that I could achieve what I wanted to and much more quickly than with those other platforms.
I've always thought development is best done solo or in large teams, and not needing to communicate with a designer due to the ease of use of CSS/SASS is another bonus." – Simon Shepherd
As well as the comments from everybody above (who we will hear a lot more from later in the book), I went into a little more detail with Phil Merrell about the Sencha and mobile web approach in general and how it stacks up to native development:
Currently HTML5 apps are generally seen as being "second class" to natively coded applications, will this always be the case?
"I think we'll start to see more applications migrate away from native code to the web as mobile devices and browsers become more capable. Similar to how many desktop applications started off as native apps (e.g., email and documents applications), I think eventually the majority of apps will live on the web rather than on clients with native code. For this to become a reality we will also need platforms to treat web apps as a first class citizen similar to native apps, i.e., equal access to the home screen as an icon, more native device APIs, and easy fullscreen, browser-less viewing options. iOS has always flirted with this, but clearly prioritizes the consumption of apps through their app store.
There will always be a place for native applications, of course, but there will be less of a need for the low level processing power that's currently an advantage when developing apps natively."
Why did you start using Sencha Touch over developing natively or other cross-platform approaches like Xamarin?
"I've never used Xamarin but it looks interesting. Personally I'm betting on the web being the dominant platform in the long run – not just for mobile apps, but for smart TVs, cars, and the further evolution to the Internet of things. Xamarin is a cross platform development tool for publishing native apps to app stores. I can envision a future where app stores still exist, but our reliance on them is deemphasized, and the web using web technologies is the dominant platform for all apps.
Xamarin also does a good job of skinning apps for their respective platform, and you can certainly accomplish this with Sencha Touch, but I hope we can evolve to not need apps that look different in all platforms. I think it's a sign of immaturity and analogous to the days where web sites proudly (and visually) proclaimed they were best viewed in Netscape Navigator or Internet Explorer. I hope apps can evolve past needing radical differences in UI for each platform. I look forward to the day where developers no longer have to style differently for every platform but rather there is just one app for every platform with consistent and beautiful UI. The web can help make this a reality."
The eBook is due to be released on June 3rd, but if you pre-order now you can grab the launch special for 20% off by using the offer code 'launchspecial'. Check out Beginners Guide to Sencha Touch here.