brian le roux presentation introducing phone gap

32
Introducing PhoneGap Native Mobile Web Apps

Upload: ajax-experience-2009

Post on 15-Jan-2015

2.609 views

Category:

Travel


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Brian Le Roux Presentation Introducing Phone Gap

Introducing PhoneGap

Native Mobile Web Apps

Page 2: Brian Le Roux Presentation Introducing Phone Gap

Mobile app dev is hard.

Page 3: Brian Le Roux Presentation Introducing Phone Gap

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

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

Dev and distribution nightmare.

Page 6: Brian Le Roux Presentation Introducing Phone Gap

This is why the internet works.

cross platformopen standardsopen source

Page 7: Brian Le Roux Presentation Introducing Phone Gap

Cross PlatformiPhoneAndroidBlackberryWindows MobileNokia *Palm *

* releasing this fall

Page 8: Brian Le Roux Presentation Introducing Phone Gap

HTML5

sorta

Page 9: Brian Le Roux Presentation Introducing Phone Gap

Webkit APIs

SQLiteCache ManifestCSS Transitions / Transforms / AnimationsCustom fonts

Page 10: Brian Le Roux Presentation Introducing Phone Gap

PhoneGap API

GeolocationAccelerometerMedia playbackCameraDevice infoContactsOnline/OfflineSMS / TelephoneMagnetometer

Page 11: Brian Le Roux Presentation Introducing Phone Gap

Future APIs

File IOWebSocket

SQLite Wrapper

Page 12: Brian Le Roux Presentation Introducing Phone Gap

Free: as in freedom.

MIT Licensed

Page 13: Brian Le Roux Presentation Introducing Phone Gap

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

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

docs.phonegap.com http://github.com/phonegap/phonegap-docs

Page 16: Brian Le Roux Presentation Introducing Phone Gap

App Store Rejections?

Rename your project.

Page 17: Brian Le Roux Presentation Introducing Phone Gap

No fucking tests?!

Page 18: Brian Le Roux Presentation Introducing Phone Gap

mobile-spec

http://github.com/phonegap/mobile-spec

Page 19: Brian Le Roux Presentation Introducing Phone Gap

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

Not to mention what isn't Webkit

Blackberry Windows Mobile..........yet.

Page 21: Brian Le Roux Presentation Introducing Phone Gap

The web still rocks.

(even if the browsers do not)

Page 22: Brian Le Roux Presentation Introducing Phone Gap

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

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

phonegap-dev

sudo gem install phonegap

Page 25: Brian Le Roux Presentation Introducing Phone Gap

is demo time nao

Page 26: Brian Le Roux Presentation Introducing Phone Gap

Extending PhoneGap

Plugins

Page 27: Brian Le Roux Presentation Introducing Phone Gap

Sauce needs some clean up.

Page 28: Brian Le Roux Presentation Introducing Phone Gap

The Future

Page 29: Brian Le Roux Presentation Introducing Phone Gap

More devices.

Page 30: Brian Le Roux Presentation Introducing Phone Gap

OMTP BONDI

Spec.

Page 31: Brian Le Roux Presentation Introducing Phone Gap

W3C Device API Group

Page 32: Brian Le Roux Presentation Introducing Phone Gap

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.