SlideShare une entreprise Scribd logo
1  sur  26
Phonegap/Cordova




                   @kgutteridge
Why?

   Write once run anywhere
   HTML5
   Javascript
   One code base




                              @kgutteridge
Supported Platforms

   iOS >=3.2
   Android >=1.5
   Blackberry >=4.6 but really >=5
   Symbian >=1
   webOS > 1.4.5

   Samsung Bada
   Qt
   WP7




                                      @kgutteridge
Background

   People at Nitobi originally "we don’t want this project
    to exist its to plug gaps"
   IBM + RIM + Microsoft + Symbian + Palm
   Now adopted into the Apache Software Foundation




                                                    @kgutteridge
Languages

   HTML
   CSS 3
   Javascript




                 @kgutteridge
Javascript

   http://wtfjs.com/
   https://www.destroyallsoftware.com/talks/wat




                                                   @kgutteridge
Why?

   JIL
   Bondi
   WAC
   W3C




            @kgutteridge
Its a hack

   Webview
   Call js from native code
   Call native code from js




                               @kgutteridge
Why?

   Accelerometer
   Camera
   Capture
   Compass
   Connection
   Contacts
   Device
   Events
   File
   Geolocation
   Media
   Notification
   Storage
                    @kgutteridge
Write once debug everywhere
    Weinre
    debug.phonegap.com
    Blackberry playbook
    Opera dragonfly




                                  @kgutteridge
Why?

   Is this still the right way to build your app?




                                                     @kgutteridge
Installation of SDKs (iOS)

     http://phonegap.com/download
     Install xCode http://developer.apple.com
     Select new Cordova project
     Run once, will get error
     Add ‘www’ file to project
        create folder references




                                                 @kgutteridge
Installation of SDKs (Android)

   http://www.eclipse.org/downloads/
   http://developer.android.com/sdk/installing.html
   Start a 2.2 Android project




                                                   @kgutteridge
Installation of SDKs (Android)

   Create www folder in assets




                                  @kgutteridge
Installation of SDKs (Android)


     Copy cordova-1.50.jar to libs
     Copy xml directory into the res directory
     Add cordova lib to build path
     Link “phonegap iOS app” into www
     Add Cordova import to main activity
     Extend DroidGap rather than Activity
     Add in onCreate
       super.loadUrl(“file://android_asset/www/
        index.html”);



                                                   @kgutteridge
Installation of SDKs (Android)




                                 @kgutteridge
Installation of SDKs (Android)

     Edit AndroidManifest.xml

<supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:resizeable="true"
    android:anyDensity="true"
    />




                                   @kgutteridge
Installation of SDKs (Android)


          Add permissions
        <uses-permission   android:name="android.permission.CAMERA" />
	       <uses-permission   android:name="android.permission.VIBRATE" />
	       <uses-permission   android:name="android.permission.ACCESS_COARSE_LOCATION" />
	       <uses-permission   android:name="android.permission.ACCESS_FINE_LOCATION" />
	       <uses-permission   android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
	       <uses-permission   android:name="android.permission.READ_PHONE_STATE" />
	       <uses-permission   android:name="android.permission.INTERNET" />
	       <uses-permission   android:name="android.permission.RECEIVE_SMS" />
	       <uses-permission   android:name="android.permission.RECORD_AUDIO" />
	       <uses-permission   android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
	       <uses-permission   android:name="android.permission.READ_CONTACTS" />
	       <uses-permission   android:name="android.permission.WRITE_CONTACTS" />
	       <uses-permission   android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	       <uses-permission   android:name="android.permission.ACCESS_NETWORK_STATE" />
	       <uses-permission   android:name="android.permission.GET_ACCOUNTS" />
	       <uses-permission   android:name="android.permission.BROADCAST_STICKY" />




                                                                                     @kgutteridge
Installation of SDKs (Android)




                                 @kgutteridge
Installation of SDKs

       Add attribute
         configChanges="orientation|keyboardHidden"
       Add second activity
       <activity
        android:name="com.phonegap.DroidGap"
        android:label="@string/app_name"
        android:configChanges="orientation|keyboardHidden">
        <intent-filter></intent-filter>
</activity>




                                                       @kgutteridge
SDKs are a pain

   build.phonegap.com




                         @kgutteridge
Config.xml

   Based of W3C widget spec
<?xml version="1.0" encoding="UTF-8" ?>
    <widget xmlns = "http://www.w3.org/ns/widgets"
        xmlns:gap = "http://phonegap.com/ns/1.0"
        id        = "uk.co.kgutteridge.bigm"
        versionCode="10" <!-- optional: Android only -->
        version   = "1.0.0">

    <name>Bigm</name>

    <description>
        An example app for phonegap build.
    </description>

    <author href="http://kgutteridge.co.uk"
email="kgutteridge@gmail.com">
        Kieran Gutteridge
    </author>
</widget>


                                                           @kgutteridge
Plugins

   All phonegap apis are plugins
   https://github.com/phonegap/phonegap-plugins




                                               @kgutteridge
Uh Oh?

   Add in app purchase




                          @kgutteridge
Native vs Web
   Native is native
   Platform metaphors do matter
   Password input boxes
   Clients love to pay for web technologies
   Devs love searching for the unicorn of write once run
    anywhere
   Maybe other options take a look at kirinJS




                                                  @kgutteridge
Q+A


      kieran.gutteridge@intohand.com


      @kgutteridge




                                       @kgutteridge

Contenu connexe

Tendances

Tendances (20)

Wearables + Azure development
Wearables + Azure developmentWearables + Azure development
Wearables + Azure development
 
Building Rich Applications with Appcelerator
Building Rich Applications with AppceleratorBuilding Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
 
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢從 Google i/o 2015 看下半年 mobile 應用發展趨勢
從 Google i/o 2015 看下半年 mobile 應用發展趨勢
 
Creating Android Apps with PhoneGap
Creating Android Apps with PhoneGapCreating Android Apps with PhoneGap
Creating Android Apps with PhoneGap
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
 
Bootiful Development with Spring Boot and Vue - RWX 2018
Bootiful Development with Spring Boot and Vue - RWX 2018Bootiful Development with Spring Boot and Vue - RWX 2018
Bootiful Development with Spring Boot and Vue - RWX 2018
 
An iOS Developer's Perspective on React Native
An iOS Developer's Perspective on React NativeAn iOS Developer's Perspective on React Native
An iOS Developer's Perspective on React Native
 
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
 
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
iOS Developers Conference-iOS Automation with Cucumber, Appium and SaucelabsiOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
 
Develop Android/iOS app using golang
Develop Android/iOS app using golangDevelop Android/iOS app using golang
Develop Android/iOS app using golang
 
React Native
React NativeReact Native
React Native
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
 
Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018
 
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native BostonPutting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Boston
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
Native Android Development Practices
Native Android Development PracticesNative Android Development Practices
Native Android Development Practices
 
JavaScript as a First-Class Citizen on iOS 7
JavaScript as a First-Class Citizen on iOS 7JavaScript as a First-Class Citizen on iOS 7
JavaScript as a First-Class Citizen on iOS 7
 
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
 
Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]Android study jams 2021 [collab] [master]
Android study jams 2021 [collab] [master]
 

Similaire à OpenMIC March-2012.phonegap

HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
Motorola Mobility - MOTODEV
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
Troy Miles
 

Similaire à OpenMIC March-2012.phonegap (20)

Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application Development
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
 
Android a brief intro
Android a brief introAndroid a brief intro
Android a brief intro
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
Mobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileMobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery Mobile
 
Getting Your Hooks Into Cordova
Getting Your Hooks Into CordovaGetting Your Hooks Into Cordova
Getting Your Hooks Into Cordova
 
Getting your Hooks into Cordova
Getting your Hooks into CordovaGetting your Hooks into Cordova
Getting your Hooks into Cordova
 
Getting Your Hooks into Cordova
Getting Your Hooks into CordovaGetting Your Hooks into Cordova
Getting Your Hooks into Cordova
 
Android App Development using HTML5 Technology
Android App Development using HTML5 TechnologyAndroid App Development using HTML5 Technology
Android App Development using HTML5 Technology
 
Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)Introduction to Apache Cordova (Phonegap)
Introduction to Apache Cordova (Phonegap)
 
[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action
 
React Native
React NativeReact Native
React Native
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
Angularjs Tutorial for Beginners
Angularjs Tutorial for BeginnersAngularjs Tutorial for Beginners
Angularjs Tutorial for Beginners
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009
 

Plus de Kieran Gutteridge (9)

Spring hackathon
Spring hackathonSpring hackathon
Spring hackathon
 
OpenMIC March-2012.making money on mobile
OpenMIC March-2012.making money on mobileOpenMIC March-2012.making money on mobile
OpenMIC March-2012.making money on mobile
 
Winter hackathon intohand one voice olympic app
Winter hackathon intohand one voice olympic appWinter hackathon intohand one voice olympic app
Winter hackathon intohand one voice olympic app
 
Londroid - Non native development
Londroid - Non native developmentLondroid - Non native development
Londroid - Non native development
 
Hack camp 2011
Hack camp 2011Hack camp 2011
Hack camp 2011
 
BCS Mobile development choices
BCS Mobile development choicesBCS Mobile development choices
BCS Mobile development choices
 
Into to Android Live Wallpapers
Into to Android Live WallpapersInto to Android Live Wallpapers
Into to Android Live Wallpapers
 
App Stores Global Opportunities
App Stores Global OpportunitiesApp Stores Global Opportunities
App Stores Global Opportunities
 
Android, iPhone and application development
Android, iPhone and application developmentAndroid, iPhone and application development
Android, iPhone and application development
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

OpenMIC March-2012.phonegap

  • 1. Phonegap/Cordova @kgutteridge
  • 2. Why?  Write once run anywhere  HTML5  Javascript  One code base @kgutteridge
  • 3. Supported Platforms  iOS >=3.2  Android >=1.5  Blackberry >=4.6 but really >=5  Symbian >=1  webOS > 1.4.5  Samsung Bada  Qt  WP7 @kgutteridge
  • 4. Background  People at Nitobi originally "we don’t want this project to exist its to plug gaps"  IBM + RIM + Microsoft + Symbian + Palm  Now adopted into the Apache Software Foundation @kgutteridge
  • 5. Languages  HTML  CSS 3  Javascript @kgutteridge
  • 6. Javascript  http://wtfjs.com/  https://www.destroyallsoftware.com/talks/wat @kgutteridge
  • 7. Why?  JIL  Bondi  WAC  W3C @kgutteridge
  • 8. Its a hack  Webview  Call js from native code  Call native code from js @kgutteridge
  • 9. Why?  Accelerometer  Camera  Capture  Compass  Connection  Contacts  Device  Events  File  Geolocation  Media  Notification  Storage @kgutteridge
  • 10. Write once debug everywhere  Weinre  debug.phonegap.com  Blackberry playbook  Opera dragonfly @kgutteridge
  • 11. Why?  Is this still the right way to build your app? @kgutteridge
  • 12. Installation of SDKs (iOS)  http://phonegap.com/download  Install xCode http://developer.apple.com  Select new Cordova project  Run once, will get error  Add ‘www’ file to project  create folder references @kgutteridge
  • 13. Installation of SDKs (Android)  http://www.eclipse.org/downloads/  http://developer.android.com/sdk/installing.html  Start a 2.2 Android project @kgutteridge
  • 14. Installation of SDKs (Android)  Create www folder in assets @kgutteridge
  • 15. Installation of SDKs (Android)  Copy cordova-1.50.jar to libs  Copy xml directory into the res directory  Add cordova lib to build path  Link “phonegap iOS app” into www  Add Cordova import to main activity  Extend DroidGap rather than Activity  Add in onCreate  super.loadUrl(“file://android_asset/www/ index.html”); @kgutteridge
  • 16. Installation of SDKs (Android) @kgutteridge
  • 17. Installation of SDKs (Android)  Edit AndroidManifest.xml <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true" /> @kgutteridge
  • 18. Installation of SDKs (Android)  Add permissions <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> @kgutteridge
  • 19. Installation of SDKs (Android) @kgutteridge
  • 20. Installation of SDKs  Add attribute  configChanges="orientation|keyboardHidden"  Add second activity  <activity android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> <intent-filter></intent-filter> </activity> @kgutteridge
  • 21. SDKs are a pain  build.phonegap.com @kgutteridge
  • 22. Config.xml  Based of W3C widget spec <?xml version="1.0" encoding="UTF-8" ?> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" id = "uk.co.kgutteridge.bigm" versionCode="10" <!-- optional: Android only --> version = "1.0.0"> <name>Bigm</name> <description> An example app for phonegap build. </description> <author href="http://kgutteridge.co.uk" email="kgutteridge@gmail.com"> Kieran Gutteridge </author> </widget> @kgutteridge
  • 23. Plugins  All phonegap apis are plugins  https://github.com/phonegap/phonegap-plugins @kgutteridge
  • 24. Uh Oh?  Add in app purchase @kgutteridge
  • 25. Native vs Web  Native is native  Platform metaphors do matter  Password input boxes  Clients love to pay for web technologies  Devs love searching for the unicorn of write once run anywhere  Maybe other options take a look at kirinJS @kgutteridge
  • 26. Q+A kieran.gutteridge@intohand.com @kgutteridge @kgutteridge

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n