It is my honor to present Sencha Touch, a brand new HTML5/CSS3 app framework for touch devices. I have secretly been toiling away on this for the past few months, and let me tell you: it is an incredible relief to finally be able to discuss it.
Sencha Touch represents a new era of mobile web app development. Firstly, the number of visual components we have included is, as one friend put it, “incredibly ambitious.” We have tabs, carousels, forms, lists, buttons, toolbars, maps, overlays, and more — all with myriad options for manipulating their design and UX. And, most importantly, all built entirely with web standards like HTML5, CSS3, and Javascript.
On top of the actual components, we have a robust data package (inspired by Ext JS), that is essential for developing content-based applications. We provide simple ways to get data via Ajax, JSONP, or YQL, and let you easily bind that data to components like lists or render it into HTML templates. I built a data-driven app for Kiva, a fantastic non-profit micro-loan organization, in under a week.
And lastly, there’s the style/theme layer. This has been my real brainchild within the project. I fear it may take some time for developers to really see how much power is in there, and I hope to explain a bit of it in some forthcoming posts and screencasts. At its core, the theming/CSS system is based on Sass, an abstraction layer for CSS that adds things like variables and functions. To give you some idea of its potential, check out the source of the Android theme we’re offering, which is written in under 30 lines of code (check out a preview here, in a WebKit browser). My other favorite part of the styling layer is that it is resolution independent. Through a combination of CSS3 and relative sizing, we have managed to make our UI elements (like buttons and toolbars) the same physical size across devices with different resolutions/DPIs. It’s somewhat hard to describe how unique this is, but I think people will see the benefits of this very soon.
It’s been a great ride, working on this over the past few months, and I’m looking forward to seeing this library grow into the best mobile app framework around, web or native. For the jQTouch fans and followers out there, worry not — development is about to ramp up there as well, with help from my good friend Jonathan Stark, which we’ll be posting about tomorrow. For 9-bits follower in general, I apologize for the lack of posts lately (hopefully this helps explain) and promise I’ll be ramping up news posts again soon. And lastly, to everyone who has helped make this possible, including our early private testers and the rest of the Sencha Team, thank you, thank you, thank you.
If you have any questions about Sencha Touch, jQTouch, or mobile web apps in general, feel free to send them here and I’ll try to answer them here on the blog. Now go download the thing and start building apps!