![Page 1: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/1.jpg)
Introducing PhoneGap
Native Mobile Web Apps
![Page 2: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/2.jpg)
Mobile app dev is hard.
![Page 3: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/3.jpg)
Device Platform FragmentationPlatform Language Notes
Apple iPhone Objective C Requires an Apple machine. Left arm.
RIM Blackberry OS Java Requires a Windows based machine. WTF.
Google Android Java (Dalvik VM) Runs mostly anywhere.
Windows Mobile .NET or unmanaged C++ Requires a Windows based machine.
Nokia Symbian C++, Java, Python, Flash, WRT
Runs mostly anywhere.
Palm WebOS HTML, CSS and JavaScript Runs mostly anywhere.
![Page 4: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/4.jpg)
App Distribution FragmentationApple App Store Android Market Blackberry App World Nokia Ovi Store GetJar Palm App Catalog Samsung App Store LG Application Store Mobango Sony Ericsson PlayNow Windows Marketplace Vodafone App Store Java App Store Verizon VCast
![Page 5: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/5.jpg)
Dev and distribution nightmare.
![Page 6: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/6.jpg)
This is why the internet works.
cross platformopen standardsopen source
![Page 7: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/7.jpg)
Cross PlatformiPhoneAndroidBlackberryWindows MobileNokia *Palm *
* releasing this fall
![Page 8: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/8.jpg)
HTML5
sorta
![Page 9: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/9.jpg)
Webkit APIs
SQLiteCache ManifestCSS Transitions / Transforms / AnimationsCustom fonts
![Page 10: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/10.jpg)
PhoneGap API
GeolocationAccelerometerMedia playbackCameraDevice infoContactsOnline/OfflineSMS / TelephoneMagnetometer
![Page 11: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/11.jpg)
Future APIs
File IOWebSocket
SQLite Wrapper
![Page 12: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/12.jpg)
Free: as in freedom.
MIT Licensed
![Page 13: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/13.jpg)
PhoneGap Philosophy
The purpose is to cease to exist.Make the web a first class dev tool.Be open, transparent and free.Adhere to standards when possible.
![Page 14: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/14.jpg)
Problems with the PhoneGap project
documentationapp store FUDno fucking testsmany webkit variantsperceived competitiontooling is not consolidatedsource is a bit of a gong showno standard technique for extending the project
![Page 15: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/15.jpg)
docs.phonegap.com http://github.com/phonegap/phonegap-docs
![Page 16: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/16.jpg)
App Store Rejections?
Rename your project.
![Page 17: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/17.jpg)
No fucking tests?!
![Page 18: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/18.jpg)
mobile-spec
http://github.com/phonegap/mobile-spec
![Page 19: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/19.jpg)
The many flavors of Webkit
iPhone OS 3.0 Webkit 528.16 BuildiPhone OS 2.2 Webkit 525.20 BuildiPhone OS 2.02 Webkit 525.20 BuildiPhone OS 1.5 Webkit 419.3 BuildAndroid 1.5 Webkit Nov 2008 ForkAndroid 1.1 Webkit Rev r30692Android 1.0 WebkitPalmPre OS WebkitNokia S60 Webkit ForkNokia WRT Webkit Fork
![Page 20: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/20.jpg)
Not to mention what isn't Webkit
Blackberry Windows Mobile..........yet.
![Page 21: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/21.jpg)
The web still rocks.
(even if the browsers do not)
![Page 22: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/22.jpg)
Other options?Option Supported Platforms Language License
BigFive iPhone HTML, CSS and JS GPL2
LiquidGear iPhone HTML, CSS and JS* MIT
Corona iPhone Lua Proprietary
Appcelerator iPhoneAndroid
HTML, CSS and JS* Apache / Proprietary
Rhodes iPhoneSymbianAndroidBlackBerryWindows Mobile
HTML, CSS and JS. Ruby for native code. Accessed client/server style.
GPL3
NimbleKit iPhone HTML, CSS and JS* Proprietary
* Renders native controls via JavaScript.
![Page 23: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/23.jpg)
Wash, Rinse, Repeat...FAIL
1. First, install all these:iPhone SDKAndroid SDKBlackberry SDKWindows Mobile SDKNokia WRT SDK
2. Download the PhoneGap source. 3. Map to each SDK.4. Copy your app into each.5. Build for each.6. Fix a bug. 7. GOTO 3.
Automation FAIL.
![Page 24: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/24.jpg)
phonegap-dev
sudo gem install phonegap
![Page 25: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/25.jpg)
is demo time nao
![Page 26: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/26.jpg)
Extending PhoneGap
Plugins
![Page 27: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/27.jpg)
Sauce needs some clean up.
![Page 28: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/28.jpg)
The Future
![Page 29: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/29.jpg)
More devices.
![Page 30: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/30.jpg)
OMTP BONDI
Spec.
![Page 31: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/31.jpg)
W3C Device API Group
![Page 32: Brian Le Roux Presentation Introducing Phone Gap](https://reader035.vdocuments.net/reader035/viewer/2022062617/54b77a044a7959e20d8b45dd/html5/thumbnails/32.jpg)
Now... go write some apps!*http://phonegap.comhttp://groups.google.com/group/phonegap
Brian [email protected]://twitter.com/brianleroux
* After beers. Ideally at least 12 hours after beers.