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. The first release of Sencha Touch, version 0.90 beta, was made available on July 17, 2010. This beta release supported devices running Android, and iOS (on iPhone, iPod Touch,Features
MVC Architecture
Sencha Touch follows the MVC pattern which separates the application data, the control code and view. This separation allows large scale applications to be flexible and easy to maintain.Widget components and customisable themes
Sencha Touch has an inbuilt DOM manipulation interface which negates the dependency on other UI frameworks like jQuery. It includes a set of graphical user interface GUI-based controls (or components) for use within mobile web applications. These components are optimized for touch input. The components are: * Buttons with device specific themes and effects * Form elements such as text fields for email * Date picker and address * Sliders, selectors, and combo-boxes * A list component with momentum-scrolling and an index bar * A minimal icon set * Toolbars and menus * Movable tabs, bottom toolbars * A map component with support for multi-touch gestures such as pinch and zoom * Carousels All the components can be themed according to the target device. This is done usingTransitions, animations and adaptive UI
Sencha Touch has eight in-built transition effects including slide over or under the current element, pop, flip, and cube. It supports common touch gestures built from touch events, which are Web standards but supported only byCharting
Sencha Touch also supports charting components including pie charts, bar graphs, line series, etc. with explanatory legends. These components support interactivity like pinch and zoom. Just like the Grid components in ExtJS, Sencha Touch offers TouchGrid functionality.Profiles
Profiling in Sencha Touch allows you to create different profiles catering to different screen sizes. When the application is loaded, the framework determines the type of device, and its corresponding profile determines which components and functionality need to be swapped out, and the specific views and controllers that need to be invoked, saving the developer the task of creating a different application for each type of device.Basic application directory structure
Sencha Touch applications have a basic file and directory structure as follows:Developer tools and plugins
Sencha Touch provides IDE plugins for ease of development. Benefits of these plugins include code generation and auto-completion, code refactoring and ease of navigation to framework codebase and custom classes. Sencha Touch has plugins for popular IDEs like JetBrains, Visual Studio and Eclipse. There is a visual app builder, Sencha Architect, for building cross platform HTML5 apps. It provides addiction features like theming and command line integration.Sample usage
Sencha Touch makes it convenient to use a map in your application using the Ext.Map component. The inclusion of "Google Maps API" JavaScript file is essential for the GoogleMaps API to work.Comparison to native applications
Sencha Touch supports PhoneGap and Apache Cordova APIs for Accelerometer, Camera, Compass, Geolocation, Capture, InAppBrowser, Media, Notification, Splash Screen, Storage (SQLite), etc. which were previously accessible only to native applications. Sencha Touch leverages JavaScript to create most of the UI components and change CSS of DOM elements on the fly. With JavaScript Engines being more efficient and faster than before, web apps run almost as smooth as native apps.See also
* Multiple phone web-based application framework * Comparison of JavaScript Frameworks * jQuery Mobile * Tizen *References
Bibliography
* Jesus Garcia and Anthony De Moss, Mitchell Simoens, ''Sencha Touch in Action'', * Ajit Kumar, ''Sencha Touch Cookbook'', . * Hiren J. Dave, Instant Sencha Touch, . * Ajit Kumar, ''Sencha Touch Cookbook - Second Edition'', . * Lee Boonstra, Hands-On Sencha Touch 2: A Real-World App Approach 1st Edition, . * Ajit Kumar, ''Sencha MVC Architecture'', . * Matthew David, HTML5 Mobile Websites, Turbocharging HTML5 with jQuery, Sencha Touch, and Other Frameworks, . * https://developer.salesforce.com/page/Developing_Mobile_Applications_With_Force.com_And_Sencha_TouchExternal links
* {{DEFAULTSORT:Sencha Touch (mobile app framework) Ajax (programming) JavaScript libraries HTML5 JavaScript web frameworks