PhoneGap
really its mobile with web tech

Brock Whitten
Nitobi
So What’s PhoneGap?
one year ago…

MIT
free as in do what you like
understand the problem
Current Landscape
| Platform |
Language |
Awesome? |
| iPhone |
Objective-C |
not really |
| Android |
Java (Dalvik VM) |
ok |
| BlackBerry |
Java (Who Knows) |
no |
| Windows Mobile |
.Net and/or C++ |
sorry |
| Nokia |
C++, Java, Flash, web, python |
sorta |
| Palm |
*web tech |
Exactly |
multiple code bases

HTML / CSS / JS
why javascript?
small, fast, and everywhere
mobile javascript
Webkit
Lots 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
Webkit FTW
- HTML5 Cache Manifest
- css transforms, transitions and animations
- custom fonts
- local storage and sqllite
WTF is not Webkit?!?

not cool …yet
BlackBerry
Windows Mobile
show me code all ready!
HTML5
vibrate
navigator.notification.vibrate(0);
beep
navigator.notification.beep(2);
geolocation
navigator.geolocation.getCurrentPosition(win, fail);
accelerometer
navigator.accelerometer.watchAcceleration(win, fail, opt);
Today
Android
iPhone
BlackBerry
Soon
Android
iPhone
BlackBerry
Palm OS
Windows Mobile
Nokia
PSP / Nintendo DSI
PhoneGap Philosophy
device agnostic / open standards / open source
phonegap has obstacles

Competition?
| Framework |
Platform |
Tech |
License |
| big five |
iphone |
web |
GPL2 |
| corona |
iphone |
lua |
proprietary |
| nimblekit |
iphone |
web* |
proprietary |
| appcellerator |
iphone/android |
web* |
apache/proprietary |
| rhodes |
iphone/android/winmo/nokia |
web |
GPL3 |
| phonegap |
iphone/android/blackberry |
web |
MIT (Exactly!) |
\* renders native controls
lockin is not a goal of phonegap
cross platform consistency
Road to 1.0
where we are going
Unified build Script
Documentation
phonegap-docs.smart.joyent.com
mobile-spec
Plugins
Better Tools
javascript framework?
JS Frameworks
Current Landscape
JQuery
YUI
Prototype
MooTools
DoJo
XUI
Your Favorite $()
XUI
JQuery gone Tiny
2.4k
selector
x$(‘a.foo’);
Built for Mobile
event
x$(‘a.foo’).touchstart(function(){ alert(“hi”) });

Questions?

Lots of apps in the wild