PhoneGap makes it easy to create mobile apps using HTML, CSS, and JavaScript. It allows developers to access native device features like cameras and accelerometers from web apps. PhoneGap supports developing apps for many mobile platforms like iPhone, Android, BlackBerry and more. It aims to simplify cross-platform mobile development and allow web developers to build native mobile apps using open web technologies.
6. 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.
Monday, December 7, 2009
7. 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
Monday, December 7, 2009
13. PhoneGap API
Geolocation
Accelerometer
Notifications
Media playback
Camera
Device info
Contacts
Online/Offline
SMS / Telephone
Magnetometer
Monday, December 7, 2009
15. Free: as in freedom.
MIT Licensed
Monday, December 7, 2009
16. 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.
Monday, December 7, 2009
17. Sony Ericsson WebSDK
http://developer.sonyericsson.com/websdk
17
Monday, December 7, 2009
18. Yeah way.
Geolocation
Accelerometer
Notifications
Media playback
Camera
Device info
Contacts
On these devices:
Online/Offline
SMS / Telephone iPhone / iPod Touch
Magnetometer Android
Blackberry
Nokia
Windows Mobile
Palm webOS
Monday, December 7, 2009
19. 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
Monday, December 7, 2009
20. docs.phonegap.com
http://github.com/phonegap/phonegap-docs
Monday, December 7, 2009
25. Yay Webkit!
Good!
sqlite
cache manifest
css awesome
custom fontage
Monday, December 7, 2009
26. Bad *
* many variants
** not mozilla
Monday, December 7, 2009
27. Ugly
• Blackberry less than 4.6 have no XHR
• Windows Mobile runs IE 4
• Or worse: IE 6 + 7
Monday, December 7, 2009
28. The many flavours 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
Monday, December 7, 2009
29. Not to mention what isn't Webkit
Blackberry
Windows Mobile
.
.
.
.
.
.
.
...yet.
Monday, December 7, 2009
30. The web still rocks.
(even if the browsers do not)
Monday, December 7, 2009
31. 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
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.
Monday, December 7, 2009
33. Wash, Rinse, Repeat...FAIL
1. First, install all these:
o iPhone SDK
o Android SDK
o Blackberry SDK
o Windows Mobile SDK
o 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.
Monday, December 7, 2009
34. phonegap-dev
coming soon...
Monday, December 7, 2009
50. This is the modern equivalent of
Outlook Express.
Fuck components. Especially native components.
Monday, December 7, 2009
51. Solve your unique problem.
And you will do it better than a generic solution.
Monday, December 7, 2009
52. Maybe you don't even need native features?
Use a mobile specific stylesheet.
Progressive enhancement of functionality w/ js.
Monday, December 7, 2009
57. Get involved.
• code: github.com
• docs: docs.phonegap.com / wiki.phonegap.com
• test: mobile-spec
• blog about it
• tweet about it!
• tell your mom about it (I already did)
• help on mailing list
57
Monday, December 7, 2009
58. 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.
Monday, December 7, 2009