mobile web app development

Post on 28-Jan-2015

112 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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 LeRouxbrian@nitobi.comhttp://twitter.com/brianleroux

* After beers. Ideally at least 12 hours after beers.

Monday, December 7, 2009

top related