The Hitchhiker's guide to mobile development

Post on 27-Jan-2015

118 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

The slides from my talk at the mobilism 2011

Transcript

The hitchhiker's guide to mobile development

Mobilism 2011

Nikolai Onkenuxebu

Sunday, May 15, 2011

@nonken

Sunday, May 15, 2011

Sunday, May 15, 2011

We open the mobile web.

Sunday, May 15, 2011

How you totally should do it

Sunday, May 15, 2011

Lets look at

Sunday, May 15, 2011

Lets look at

1. Current state of mobile dev

Sunday, May 15, 2011

Lets look at

1. Current state of mobile dev

2. Coding

Sunday, May 15, 2011

Lets look at

1. Current state of mobile dev

2. Coding

3. Call for action

Sunday, May 15, 2011

Current state of mobile dev

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes

Sunday, May 15, 2011

State of mobile dev: runtimes I would use

Sunday, May 15, 2011

State of mobile dev: runtimes I would use

Sunday, May 15, 2011

State of mobile dev: debugging

Sunday, May 15, 2011

http://bit.ly/chrome-remote

State of mobile dev: debugging

Sunday, May 15, 2011

http://bit.ly/weinre

State of mobile dev: debugging

Sunday, May 15, 2011

http://jsconsole.com

State of mobile dev: debugging

Sunday, May 15, 2011

http://bit.ly/o-dragonfly

State of mobile dev: debugging

Sunday, May 15, 2011

http://jsdebugger.appspot.com

State of mobile dev: debugging

Sunday, May 15, 2011

http://zeonjs.com

State of mobile dev: debugging

Sunday, May 15, 2011

State of mobile dev: debugging

Sunday, May 15, 2011

http://cloud9ide.com

State of mobile dev: editors

Sunday, May 15, 2011

http://cloud9ide.com

State of mobile dev: editors

Sunday, May 15, 2011

SubEthaEdit FTW

State of mobile dev: debugging

Sunday, May 15, 2011

Sunday, May 15, 2011

Sunday, May 15, 2011

Sunday, May 15, 2011

Sunday, May 15, 2011

http://apparat.io

http://build.phonegap.com

https://github.com/brianleroux/cordova

State of mobile dev: build services

Sunday, May 15, 2011

http://apparat.io

http://build.phonegap.com

https://github.com/brianleroux/cordova

State of mobile dev: build services

Sunday, May 15, 2011

http://apparat.io

State of mobile dev: build services

Sunday, May 15, 2011

http://apparat.io

State of mobile dev: build services

Sunday, May 15, 2011

http://apparat.io

State of mobile dev: build services

Sunday, May 15, 2011

http://ripple.tinyhippos.com/

https://github.com/vf/web-testsuite

State of mobile dev: testing

Sunday, May 15, 2011

http://ripple.tinyhippos.com/

https://github.com/vf/web-testsuite

State of mobile dev: testing

Sunday, May 15, 2011

http://distimo.com

State of mobile dev: reporting

Sunday, May 15, 2011

http://distimo.com

State of mobile dev: reporting

Sunday, May 15, 2011

State of mobile dev: app stores

yea right...

Sunday, May 15, 2011

State of mobile dev: app stores...

Probably more than just ‘mobile’ - chromestore anyone?

Sunday, May 15, 2011

State of mobile dev: libraries

tons of em

Sunday, May 15, 2011

State of mobile dev: libraries

but size matters!

Sunday, May 15, 2011

Coding

Sunday, May 15, 2011

Rewire our brains

Sunday, May 15, 2011

What about those libraries?

Sunday, May 15, 2011

Uh oh

Sunday, May 15, 2011

Uh oh

Sunday, May 15, 2011

Uh oh

Sunday, May 15, 2011

Uh oh

Sunday, May 15, 2011

Uh oh

Sunday, May 15, 2011

What about maintainability?

Sunday, May 15, 2011

Work with features and interfaces

Don’t branch your code

Sunday, May 15, 2011

Bad

Sunday, May 15, 2011

Really Bad

Sunday, May 15, 2011

Good

Sunday, May 15, 2011

Good

Sunday, May 15, 2011

Good

Sunday, May 15, 2011

Good

Sunday, May 15, 2011

http://embedjs.org

The DIY framework

Sunday, May 15, 2011

Sunday, May 15, 2011

Sunday, May 15, 2011

vs.

Sunday, May 15, 2011

vs.

Sunday, May 15, 2011

vs.

13 LOC

~200 LOC

Sunday, May 15, 2011

Enough code? Demo

Mobilism app

Sunday, May 15, 2011

Mixins hell yea

Sunday, May 15, 2011

• Different approach on event handling

• Simple, clear implementation

• Less overhead than the multi purpose event handlers such as dojo.connect

• More explicit than pub/sub 

• https://github.com/uxebu/delegate

Delegate

Sunday, May 15, 2011

Delegate

Sunday, May 15, 2011

Delegate

Sunday, May 15, 2011

Delegate

Sunday, May 15, 2011

Delegate

Sunday, May 15, 2011

• Mobilism Schedule (Object emitters)

https://github.com/nonken/mobilism2011

Example: Delegate

Sunday, May 15, 2011

• Based on delegate’s event handling

• No templating language!

• Objects emit events on state change

• Data binding takes care of modifying DOM 

Data binding

Sunday, May 15, 2011

Data binding

Sunday, May 15, 2011

Data binding

Sunday, May 15, 2011

Data binding

Sunday, May 15, 2011

• Mobilism schedule (Data binding)

Example

Sunday, May 15, 2011

• Binds native DOM events to object methods

DOM Events

Sunday, May 15, 2011

DOM Events

Sunday, May 15, 2011

DOM Events

Sunday, May 15, 2011

DOM Events

Sunday, May 15, 2011

DOM Events

Sunday, May 15, 2011

• Mobilism mobile app (DOM event binding)

Example DOM Events

Sunday, May 15, 2011

• Curve Desaster - the experiment

https://github.com/uxebu/curvedesaster

• No library

• Using only the Delegate mixin and a mixin helper

• wwtest / http://10.0.2.1:8080

Gaming

Sunday, May 15, 2011

Call for action

Sunday, May 15, 2011

What is happening right now?

• Fact: Native mobile is moving fast

• Bad: Apple disabled Nitro in WebView

• Good: Android now has an ADK

• Awesome: Chromestore now has payment APIs

• Woot: HP kicks ass, you can use node.js!

• ...

Sunday, May 15, 2011

How can we be of influence?

Sunday, May 15, 2011

Push PhoneGap to its limits

Sunday, May 15, 2011

Human APIs... in JavaScript!

Sunday, May 15, 2011

Questions?

Sunday, May 15, 2011

@nonken

http://uxebu.com - @uxebu

Wuut

Sunday, May 15, 2011

top related