Sencha Touch

Sencha Touch

A Sencha Touch app which looks like an iPhone app
Developer(s) Sencha
Stable release 1.1.1 / August 29, 2011; 6 months ago (2011-08-29)
Development status Active
Written in JavaScript
Operating system Android, iOS
Available in English
Type JavaScript library
License GPLv3 or proprietary
Website www.sencha.com/products/touch

Sencha Touch is a user interface (UI) JavaScript library, or framework, specifically built for Mobile Web. It can be used by Web developers to develop user interface for mobile web applications that look and feel like native applications on supported mobile devices. It is fully based on web standards such as HTML5, CSS3 and JavaScript.

Contents

Version history and support

Sencha Touch is a product of Sencha which was formed after popular JavaScript library projects Ext JS, jQTouch and Raphaël were combined.[1] The first release of Sencha Touch was version 0.90 beta on July 17 2010. This beta release supported devices running Android, and iOS (on iPhone, iPod touch, iPad). Subsequently the first stable version 1.0 was released on November 2010. The latest stable version 1.1.0 adds support to devices running BlackBerry OS version 6. Sencha Touch is mainly based on WebKit, so it can support only WebKit-based browsers such as Google Chrome and Safari.[2] Support for other browsers or Web browser engines is incomplete.

Features

GUI controls

Sencha Touch includes a set of graphical user interface GUI-based controls or "components" for use within mobile web applications. These components are highly optimized for touch input. List of components:[3]

All the components can be themed according to the target device. This is done using SASS, a stylesheet language built over CSS.

CSS transitions (animations)

Sencha Touch has certain in-built transition effects.

Touch event management

It supports common touch gestures basically built from touch events which are Web standards but are supported only by Android, iOS, and some touch enabled devices.

Application data support

Sencha Touch being JavaScript Framework consists of both UI libraries and also Data libraries.[4] With the use of Data libraries the mobile web application can get data from server. Sencha Touch has a data package to support web standards for data interchange with servers such as Ajax and JSONP.[5] It also supports YQL.[6][7] Using these technologies, data can be bound to visual components such as lists to reflect data from servers.

Offline applications

Mobile Web applications require connection to the network to serve data to users. However users would like to use applications even when it is not connected, and synchronize with servers when connected. The ability of a web application to work offline is a big feature of HTML5.[8] HTML5 uses CACHE MANIFEST to list the resources to fetch while connected to server and maintain while to be used while offline.[9] Sencha Touch leverages this feature and adds to it to make good offline apps. Using the Framework it is possible to dynamically change the list of resources such as scripts, stylesheets etc., that we want to cache based on the state of application and user demand.[10] It is possible to store data offline by binding the data to components using JSONP when its online so the data is present even when the device gets disconnected.

Comparison to native apps

Native applications on mobile devices have access to all the device components such as the camera, compass, and microphone[11] which Sencha Touch cannot currently access. As mobile browsers and devices have evolved to meet emerging standards, components such as the GPS, WebSockets, and accelerometer are now available to mobile web applications, with the GPS specifically supported with Sencha Touch.[12] Sencha Touch can be used along with PhoneGap to create applications native to a mobile device for access to currently native-only components and to app marketplaces.[13] The capability of such applications is restricted by the capability of PhoneGap. Alternatively, Sencha Touch can be used with other solutions such as Worklight,[14] which are based on PhoneGap but allow full access to native APIs using Hybrid Coding.

References

Bibliography

See also

External links