Upload
nikolai-onken
View
121
Download
5
Tags:
Embed Size (px)
DESCRIPTION
The slides from my talk at the mobilism 2011
Citation preview
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