Slide 1

Slide 1 text

PhoneGap Build Developing with Andrew Lunny, PhoneGap/Adobe Thursday, 26 April, 12

Slide 2

Slide 2 text

Me @alunny Computer Scientist Nitobi Software Adobe Systems Author Thursday, 26 April, 12

Slide 3

Slide 3 text

2007 Software Consultancy, Vancouver BC Doing most everything Thursday, 26 April, 12

Slide 4

Slide 4 text

also 2007 Thursday, 26 April, 12

Slide 5

Slide 5 text

mid 2008 Thursday, 26 April, 12

Slide 6

Slide 6 text

late 2008 iPhone then Android then BlackBerry Thursday, 26 April, 12

Slide 7

Slide 7 text

2009 onward iOS: XCode Android: Eclipse BlackBerry: Eclipse Winphone: Visual Studio Thursday, 26 April, 12

Slide 8

Slide 8 text

2010 build.phonegap.com Thursday, 26 April, 12

Slide 9

Slide 9 text

Thursday, 26 April, 12

Slide 10

Slide 10 text

Thursday, 26 April, 12

Slide 11

Slide 11 text

PhoneGap ‣ install native SDKs ‣ install PhoneGap ‣ write HTML, CSS, JS ‣ build native app with SDKs + PhoneGap Thursday, 26 April, 12

Slide 12

Slide 12 text

PhoneGap ‣ install native SDKs ‣ install PhoneGap ‣ write HTML, CSS, JS ‣ build native app with SDKs + PhoneGap PhoneGap Build ‣ write HTML, CSS, JS ‣ upload your code ‣ download native apps Thursday, 26 April, 12

Slide 13

Slide 13 text

2011 Thursday, 26 April, 12

Slide 14

Slide 14 text

2011 Thursday, 26 April, 12

Slide 15

Slide 15 text

PhoneGap Thursday, 26 April, 12

Slide 16

Slide 16 text

Thursday, 26 April, 12

Slide 17

Slide 17 text

‣ xcode/java project ‣ platform-specific configuration and permissions ‣ icons/splash screen etc native app Thursday, 26 April, 12

Slide 18

Slide 18 text

FAILURES AHEAD Thursday, 26 April, 12

Slide 19

Slide 19 text

I don’t have a Mac adb isn’t in my path Where is my project template? How do I install ant? Thursday, 26 April, 12

Slide 20

Slide 20 text

‣ platform-init logic ‣ loads chromeless browser ‣ loads your code main class Thursday, 26 April, 12

Slide 21

Slide 21 text

‣ “www” directory bundled in app ‣ “index.html” opens ‣ “cordova-1.6.1.js” inserted your code Thursday, 26 April, 12

Slide 22

Slide 22 text

‣ bridge b/w webview and native ‣ access to stock native APIs ‣ different on different platforms cordova/phonegap.js Thursday, 26 April, 12

Slide 23

Slide 23 text

FAILURES AHEAD Thursday, 26 April, 12

Slide 24

Slide 24 text

jQuery stopped working it stopped working when I upgraded this code works on Android, but not iOS Where is my JS file? Thursday, 26 April, 12

Slide 25

Slide 25 text

PhoneGap Build Thursday, 26 April, 12

Slide 26

Slide 26 text

PhoneGap Build BETA Thursday, 26 April, 12

Slide 27

Slide 27 text

‣ native SDK finagling ‣ ambiguous JS-platform dependency ‣ very leaky abstractions point to the part that hurts Thursday, 26 April, 12

Slide 28

Slide 28 text

‣ no native SDKs ‣ we manage the framework (JS & native) ‣ you focus on your code PhoneGap Build Thursday, 26 April, 12

Slide 29

Slide 29 text

some numbers 100000 apps 50000 users 60000 builds/week over 6 platforms Thursday, 26 April, 12

Slide 30

Slide 30 text

https://build.phonegap.com/people/sign_up Thursday, 26 April, 12

Slide 31

Slide 31 text

Thursday, 26 April, 12

Slide 32

Slide 32 text

‣ upload an archive/index.html ‣ create a new git repository ‣ pull from a git/svn repo url creating an app Thursday, 26 April, 12

Slide 33

Slide 33 text

‣ write your app ‣ zip it up and upload ‣ simplest way to get started upload archive or index Thursday, 26 April, 12

Slide 34

Slide 34 text

‣ creates [email protected] endpoint ‣ git push your private code to there create a new git repository Thursday, 26 April, 12

Slide 35

Slide 35 text

‣ you push your code to public repo ‣ we pull it down ‣ let us know when to update pull from a git/svn repo Thursday, 26 April, 12

Slide 36

Slide 36 text

Thursday, 26 April, 12

Slide 37

Slide 37 text

Thursday, 26 April, 12

Slide 38

Slide 38 text

App Configuration Thursday, 26 April, 12

Slide 39

Slide 39 text

Thursday, 26 April, 12

Slide 40

Slide 40 text

https://build.phonegap.com/docs/config-xml Thursday, 26 April, 12

Slide 41

Slide 41 text

Thursday, 26 April, 12

Slide 42

Slide 42 text

Code Signing Thursday, 26 April, 12

Slide 43

Slide 43 text

‣ sign everything ‣ uses certificate and private key ‣ certificate must match profile ‣ profile must match all devices Signing on iOS Thursday, 26 April, 12

Slide 44

Slide 44 text

‣ debug (dev) builds use generic keystore ‣ release builds use private key + keystore ‣ no device restrictions Signing on Android Thursday, 26 April, 12

Slide 45

Slide 45 text

‣ sign everything on RIM’s servers* ‣ no device restrictions ‣ PGB: signs dev builds for you, requires cert for release builds Signing on BlackBerry *this is an insane/terrible decision Thursday, 26 April, 12

Slide 46

Slide 46 text

Thursday, 26 April, 12

Slide 47

Slide 47 text

DEMOS AHEAD Thursday, 26 April, 12