mobile-app-strategy.appspot.com
Pamela Fox - @pamelafox
I wanted to make a mobile app for my site this year, and I had a decision to make. How to make it? There's actually a lot of options, and it's not an easy decision to make because you're making a big time commitment - you're pretty much always learning something new and making a new codebase. So you gotta know your options.
Your app:
Your team:
My app:
My team: (me)
| Platform | Language | IDE |
|---|---|---|
| iOS | Objective C | XCode |
| Android | Java | Eclipse |
| Windows | .NET | Visual Studio |
| Blackberry | Java | BB JDE |
| hpWebOS | C/C++/HTML5 | ? |
| iOS | Android | WP7 | BB | WebOS | |||
| ParticleCode | Java, AS3 | Free | |||||
| XMLVM | Java, .NET | Free/LGPL | |||||
| Monotouch | C#, .NET | $400-$3000/OS |
Wrapper API -> Native
Often write once, run in multiple platforms
Native app wrapped around a web view, communicating with APIs, via JavaScript. All web technology. Bridging API + Web Tech
| iOS | Android | WP7 | BB | WebOS | ||
| (Adobe) PhoneGap | Free/Apache | |||||
| appMobi | Free/MIT | |||||
| trigger.io | $600-$3000 |
phonegap: open source, adobe bought, apache trigger: startup funded, SaaS appmobi: also for making offline web apps
document centric vs app centric. "all in one". things to look for: widgets, speed, platform-specific theming, browser-support. do they rely on other frameworks?
| jQueryMobile | Kendo UI | Wink |
|---|---|---|
|
|
|
writing HTML first, using JS to enhance that HTML, mobile optimize it, make it interactive jQueryMobile + Kendo UI both based on jQuery
| Twitter Bootstrap | ZURB Foundation |
|---|---|
|
|
responsive, mobile, media queries, fixed header/footer
| DOM | Data | AJAX | Touch | Scroll | Animation | |
|---|---|---|---|---|---|---|
| Zepto | ||||||
| jQTouch | ||||||
| iScroll | ||||||
| Backbone |
Plus many more at microjs.com
jQTouch designed to work with jQuery or Zepto. Also microjs.com
touch events, scrolling

single-page JS file with server-side and client-side templates
Tools: SASS, Compass, YUI CSS Compressor, JSHint, Closure Compiler, Jinja2, Android SDK, XCode
test on localhost in browser, copy out templates, deploy to device test on device, iterate SASS. Live demo.
Tools: Selenium WebDriver
selenium, webdriver show tests being run works in browser, works on emulator in browser, not yet in embedded webview mock out the phonegap APIs
https://gist.github.com/1302665
| PROs | CONs |
|---|---|
|
|
...Yes, probably... but should you?
For further reading, see my blog posts.