David Kaneda

.net: What does Sencha Touch bring to mobile web development?
DK: It introduces a new level of application development to the mobile environment, using web standards such as HTML5, CSS3 and JavaScript. Past projects, such as jQTouch, only went so far in simulating native experiences, covering basic styles and page animations. Sencha Touch goes much further – it offers a data package and layout system, as well as independently scrollable areas and integrated UI controls. The framework doesn’t target every mobile device,
but it does aim for the sweet spot of mobile development. It focuses on mobile WebKit, the rendering engine in iOS, Android, webOS and BlackBerry 6, which enables the creation of mobile apps that match their native counterparts with minimal markup.

.net: What are the benefits of Sencha Touch’s unique style and theme layer?
DK: Because the theming system in Sencha Touch is built on Sass and Compass, it’s incredibly flexible and dynamic. Firstly, there are a variety of variables that you can override to change the look of an app. Most notably, you can make global or specific colour changes with just a line or two of Sass. The other important advantage of using an abstraction layer for CSS is the ability to optimise. Developers can easily remove the style for unused components or icons directly within their custom style sheets, and also have style sheets automatically compressed, giving the highest levels of performance and speed.

.net: There are various mobile frameworks out there, and one of the most significant recent announcements was arguably John Resig’s jQuery Mobile. Where does Sencha Touch fit in?
DK: Sencha Touch’s place is in creating native-feeling apps on the web. jQuery Mobile looks like a great framework, and the planned device support is admirable, but the experience it creates isn’t ideal. Without a data package, rich layout system or some native-feeling UI widgets, it’s better for mobile sites. A simple blog, say, may be easier to create with jQuery Mobile, and would be accessible to more devices. A mobile conference schedule, though, which has hundreds of sessions and associated data between sessions and speakers, would be easier to make with Sencha Touch. It would also feature a richer UI and still be accessible to more than 90 per cent of the mobile traffic.

.net: What projects have used Sencha Touch?
DK: As we approach 1.0 status, we’re just starting to see the full array of apps being built with Sencha Touch. Notable examples are for conference schedules, food delivery services, travelling utility and real estate, plus a variety of social ones.

.net: Is this really the end of native?
DK: There are still performance considerations on non-iOS devices. The standards support is fantastic, enabling some great native-like features and styles, but certain devices handle content better. The biggest reasons for this are the use (or non-use) of a GPU and low memory constraints. Some devices don’t ship with a GPU; others don’t utilise them as much as they could. The ability to use hardware-accelerated animations is one of the main factors in feeling truly native. This issue will disappear quickly, though – GPUs are becoming increasingly popular and better used, and memory is going up with every release. By this time next year, we’ll see the same incredible performance across the board.

The other obstacles in truly overcoming the native barrier are device APIs. Currently, to access device features like the camera or accelerometer, developers must embed their web apps in a native shell, such as PhoneGap, which exposes them via a JavaScript API. Ideally, we’d be able to use the content (or at least ask permission to) directly through the browser.

.net: Why have you started using Sass so much?
DK: On everything aside from a simple one-page design, the ability to include functions and variables within CSS, along with basic maths and colour manipulation, presents an addictive level of power and optimisation. It’s just better.

.net: What’s next for Sencha Touch?
DK: We’re working around the clock to get 1.0 out the door, and we have lots of features planned for future versions, but I won’t ruin the surprises!

David Kaneda

Job: Creative director at Sencha

Age: 27

Education: Graphic Design at the Art Institute of Philadelphia

Previous career: Creator of jQTouch, UI and mobile web developer at pinch/zoom, partner at Morfunk, associate partner at Dyad Communications

Online: Sencha, 9-bits.com, @davidkaneda, @webkitbits