3. Device Platform Fragmentation
Platform 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, Runs mostly anywhere.
WRT
Palm WebOS HTML, CSS and JavaScript Runs mostly anywhere.
4. App Distribution Fragmentation
Apple 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
13. 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.
14. Problems with the PhoneGap project
documentation
app store FUD
no fucking tests
many webkit variants
perceived competition
tooling is not consolidated
source is a bit of a gong show
no standard technique for extending the project
19. The many flavors of Webkit
iPhone OS 3.0 Webkit 528.16 Build
iPhone OS 2.2 Webkit 525.20 Build
iPhone OS 2.02 Webkit 525.20 Build
iPhone OS 1.5 Webkit 419.3 Build
Android 1.5 Webkit Nov 2008 Fork
Android 1.1 Webkit Rev r30692
Android 1.0 Webkit
PalmPre OS Webkit
Nokia S60 Webkit Fork
Nokia WRT Webkit Fork
20. Not to mention what isn't Webkit
Blackberry
Windows Mobile
.
.
.
.
.
.
.
...yet.
22. 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 iPhone HTML, CSS and JS* Apache / Proprietary
Android
Rhodes iPhone HTML, CSS and JS. GPL3
Symbian Ruby for native code.
Android Accessed client/server
BlackBerry style.
Windows Mobile
NimbleKit iPhone HTML, CSS and JS* Proprietary
* Renders native controls via JavaScript.
23. Wash, Rinse, Repeat...FAIL
1. First, install all these:
iPhone SDK
Android SDK
Blackberry SDK
Windows Mobile SDK
Nokia 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.
32. Now... go write some apps!*
http://phonegap.com
http://groups.google.com/group/phonegap
Brian LeRoux
brian@nitobi.com
http://twitter.com/brianleroux
* After beers. Ideally at least 12 hours after beers.