FUTUREPROOF MOBILE
DEVELOPMENT

Nikolai Onken / @nonken
October 9th, 2011

OMG THANX <3

Some of the dark past

Nokia WRT - <3 HTML!

VF 360

What changed?

The iPhone brought the first a-class browser to mobile

And then there were beers

PhoneGap FTW - http://phonegap.com

The second goal of PhoneGap is for the project to cease to exist
Brian Leroux

Status quo - demos

Lets get started

bonus

Runtimes omg

Don't cover all, stick to:

Poll

How many of you have written an app for iOS?

How many of you have written an app for Android?

How many of you have written an app for WebOS?

How many of you have written an app for BlackBerry?

Mobile devs can throw away a lot of baggage

Use libraries - BUT think of them like:

So you can optimize the hell out of it:

Mobile frameworks, some things I love

EmbedJS / embedjs.org

Work with features and consistent APIs. Don't branch your code to gap platform differences

Not cool

How you roll

Example

and

Directory structure

Feature implementation

and

Feature mapping

Developing with features

Two ways you can run a build

Runtime detection (perfect for dev)

./buildj.sh name=../../src/js/main out=../../debug/js/main.js baseUrl=../../src/js/ paths.implementations=implementations/dynamic paths.feature=lib/feature

Build for deployment

./buildj.sh name=../../src/js/main out=../../debug/js/main.js baseUrl=../../src/js/ paths.implementations=implementations/touch paths.feature=lib/feature

Feature demo

has.js / https://github.com/phiggins42/has.js/

Backbone is not a framework, its awesome little tools for ya

Backbone events

Backbone models / collections

Backbone views

Backbone router <3

Only top secret demos, check backbone site for impressive stuff

Mobile testing

Rules of thumb

Weinre - http://phonegap.github.com/weinre

Weinre demo

alert() - oh noes

Other cool stuff

Zeon - http://zeonjs.com / https://github.com/qfox/zeon

Ripple - http://ripple.tinyhippos.com

Distimo app store analytics - http://distimo.com

Extend PhoneGap like hell - lets watch some video

http://humanapi.org (I am not really maintaining it :( )

The future?

Thank you for having me here

Credits: