Building mobile application 

using Sencha touch and phonegap


Sencha developers group Oslo
Pavel Kurnosov

WHO I am?






Senior Software developer 
at Joint Collaboration AS   
6 years experience  
   
Github: pavel-kurnosov        
LinkedIn: pavelkurnosov    

What you need to start


  • Phonegap/cordova
  • Sencha CMD 
  • Chrome :)
  • iOs or android

Phonegap/cordova



npm install -g cordova
npm install -g phonegap

sencha cmd


Sencha Cmd is a cross-platform command line tool that provides many automated tasks around the full life-cycle of your applications from generating a new project to deploying an application to production.

create new project


sencha -sdk /path/to/sencha-touch-sdk generate app MyApp /path/to/www/myapp

add phonegap support



sencha cordova init com.example.TestApp TestApp

add plugins




cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git



List of plugins: 
http://docs.sencha.com/touch/2.3.0/#!/guide/cordova

build application




sencha app build -run native

Structure of your app


run your application on browser





sencha web
sencha app watch


I am using for now Grunt with livereload

Chrome



Why you need chrome?
Because you can do like this :) 

open /Applications/Chromium.app/ --args --disable-web-security

Ripple plugin for chrome



Allows to emulate phonegap 
events and phone locations and etc

weinre

Allows you to debug your phone in chrome 

http://people.apache.org/~pmuellr/weinre/docs/latest/

adb plugin and safari




Allows to debug android and ios devices

phonegap build



using from cmd




phonegap remote build ios 

using testflight



What it is give you: 
  • Deliver new version to your testers
  • Upload API
  •  TestFlight SDK

development tips



  • Don't use sencha api for phonegap(now it is not ready)
  • Install only plugins that you need
  • If you need to track users - you can use - google analytics
  • If you know native development than it is much easy to fix issues specific for different platforms
  • If you use extjs on your web site than you probably should check workspaces 


QUESTIONS?

Made with Slides.com