Download - Mobile Web App Development
PhoneGap
Easy Mobile Apps with JavaScript
Monday, December 7, 2009
THANK YOU!
> var web = {};undefined> web.next();[”javascript”,”mobile”]
Monday, December 7, 2009
me.
• github.com/brianleroux• twitter.com/brianleroux
3
Monday, December 7, 2009
http://www.gartner.com/it/page.jsp?id=1126812
Monday, December 7, 2009
Mobile app dev is hard.
Monday, December 7, 2009
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.
Monday, December 7, 2009
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
Monday, December 7, 2009
Dev and distribution nightmare.
Monday, December 7, 2009
This is why the internet works.
cross platformopen standardsopen source
Monday, December 7, 2009
Cross Platform iPhoneAndroidBlackberryWindows MobileNokia Palm *Maemo*
* releasing VERY soon
Monday, December 7, 2009
HTML5
sorta
Monday, December 7, 2009
Webkit APIs
SQLiteCache ManifestCSS Transitions / Transforms / AnimationsCustom fonts
Monday, December 7, 2009
PhoneGap APIGeolocationAccelerometerNotificationsMedia playbackCameraDevice infoContactsOnline/OfflineSMS / TelephoneMagnetometer
Monday, December 7, 2009
Future APIs
File IOWebSocket
SQLite Wrapper
Monday, December 7, 2009
Free: as in freedom.
MIT Licensed
Monday, December 7, 2009
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
Sony Ericsson WebSDK
http://developer.sonyericsson.com/websdk
17
Monday, December 7, 2009
Yeah way.
GeolocationAccelerometerNotificationsMedia playbackCameraDevice infoContactsOnline/OfflineSMS / TelephoneMagnetometer
On these devices:
iPhone / iPod TouchAndroidBlackberryNokiaWindows MobilePalm webOS
Monday, December 7, 2009
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
Monday, December 7, 2009
docs.phonegap.com http://github.com/phonegap/phonegap-docs
Monday, December 7, 2009
App Store Rejections?
Rename your project.
Monday, December 7, 2009
No fucking tests?!
Monday, December 7, 2009
mobile-spec
Monday, December 7, 2009
Webkit
24
Monday, December 7, 2009
Good!sqlitecache manifestcss awesomecustom fontage
Yay Webkit!
Monday, December 7, 2009
Bad *
* many variants** not mozilla
Monday, December 7, 2009
• Blackberry less than 4.6 have no XHR
• Windows Mobile runs IE 4
• Or worse: IE 6 + 7
Ugly
Monday, December 7, 2009
The many flavours of WebkitiPhone 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
Monday, December 7, 2009
Not to mention what isn't Webkit
Blackberry Windows Mobile..........yet.
Monday, December 7, 2009
The web still rocks.
(even if the browsers do not)
Monday, December 7, 2009
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
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.
Monday, December 7, 2009
PhoneGap supported devices
http://rubyurl.com/jtNs
32
Monday, December 7, 2009
Wash, Rinse, Repeat...FAIL
1. First, install all these:o iPhone SDKo Android SDKo Blackberry SDKo Windows Mobile SDKo 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
phonegap-dev
coming soon...
Monday, December 7, 2009
is demo time nao
Monday, December 7, 2009
Extending PhoneGap
Plugins
Monday, December 7, 2009
Many codebases.Monday, December 7, 2009
Great but how to get started?
Small screens.Less memory.Less CPU.Less hard drive space if any.Sketchy connectivity.
Monday, December 7, 2009
Constraints == Focus
Monday, December 7, 2009
JavaScript Sucks
(But it is ubiquitous.)
Monday, December 7, 2009
jQuery / Dojo / YUI / MooTools
Monday, December 7, 2009
XUI
2.2 kb
Monday, December 7, 2009
XUI + Emile
Monday, December 7, 2009
Good enough.
DOM / Event / Style / XHR / FX
Monday, December 7, 2009
What about UI components?
Monday, December 7, 2009
FUCK UI components.
Monday, December 7, 2009
Apps built w/ components look like it.
Monday, December 7, 2009
Solve your unique problem.
goals > features
Monday, December 7, 2009
Tapbots, for example.
Monday, December 7, 2009
Fuck components. Especially native components.
This is the modern equivalent of Outlook Express.
Monday, December 7, 2009
Solve your unique problem.
And you will do it better than a generic solution.
Monday, December 7, 2009
Maybe you don't even need native features?
Use a mobile specific stylesheet.Progressive enhancement of functionality w/ js.
Monday, December 7, 2009
The Future
Monday, December 7, 2009
More devices.Monday, December 7, 2009
OMTP BONDI
Spec.
Monday, December 7, 2009
W3C Device API Group
Monday, December 7, 2009
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
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.
Monday, December 7, 2009