User:Pchheda/sandbox

Source: Wikipedia, the free encyclopedia.
Sencha Touch
Developer(s)Sencha
Stable release
2.4.2 / June 15, 2015; 9 years ago (2015-06-15)
Written in
GPLv3 or commercial
Websitewww.sencha.com/products/touch

Sencha Touch is a

CSS3 and JavaScript. The goal of Sencha Touch is to facilitate quick and easy development of HTML5 based mobile apps which run on Android, iOS, Windows, Tizen and BlackBerry
devices, simultaneously allowing a native look and feel to the apps.

Version history and support

Sencha Touch is a product of Sencha, which was formed after popular JavaScript library projects

).

Subsequently the first stable version, 1.0, was released in November 2010. Version 1.1.0 added support for devices running BlackBerry OS 6.0.

The latest release, Sencha Touch 2.4.2, was released in June 2015 [1] and is designed to run on the following browsers and platforms:

There are no announced plans to support Firefox Mobile.

Features

MVC Architecture

Sencha Touch follows 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

controls (or components) for use within mobile web applications. These components are optimized for touch input. The components are:[2]

All the components can be themed according to the target device. This is done using

Sass, a stylesheet language built over CSS. Some of the native-lookalike themes are Cupertino Classic (for iOS6.x and below), Cupertino (for iOS 7) and Mountain View (for Android).[1]

Transitions, 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 by Android, iOS
, and some touch enabled devices. These are tap, double tap, swipe, scroll, and pinch.

Since Sencha touch is HTML5 based, the layouts it offers are extremely adaptive in nature.

Charting

Sencha Touch also allows you to add charting components like 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.[3]

Basic Application Directory Structure

Sencha Touch applications have a basic file and directory structure as follows:[2][2]

Directory/File Description
app The main directory that holds the app's models, views, controllers, stores and profiles
app.js File that holds the application's overall settings. References to all models, views, controllers, stores and profiles can be found here. Once these references are loaded, the main app launch function is called. This function loads the first view and hence can be considered as the first point of the application
index.html Main HTML file for the app. It may span many pages/screens for the mobile app
resources Directory that holds all the images, css and any other external file that the app needs
app.json App's configuration file
packager.json File used to create native packages
ext-touch.js This is Sencha's JavaScript library (ext-touchdebug.js recommended during development phase)
ext-touch.css This is Sencha's CSS library

Developer Tools and Plugins

Sencha Touch provides

Visual Studio and Eclipse
.

There is even 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

API to work.[4]

Ext.setup() is the starting point to initialise the application, setting up the viewport and the event system.

Comparison to native applications

Sencha Touch supports PhoneGap and

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

References

Bibliography

External links


Category:Ajax (programming) Category:JavaScript libraries Category:HTML5 Category:JavaScript web frameworks