Write Once, Run on                            Any Handset                             You know, more or less...Tuesday, Ju...
Agenda                    •    Introduction                    •    The multi-handset approaches                         •...
Speakers                    • Aaron Mulder, CTO, Chariot Solutions                    • Kevin Griffin, Architect, Chariot S...
Overall Goal                    • Build a mobile app that supports as many                         handsets as possible   ...
Multiple Native AppsTuesday, June 29, 2010
Best Case / Worst Case                    • Let’s imagine we build a separate native app                         for each ...
Best Case                    • Can easily use the native look and feel for                         each device            ...
Worst Case                    •    iPhone: Objective C                    •    Android: Java (custom blend of Java SE, Jav...
Verdict                    •    Benefits include responsiveness, and the look                         and feel that users a...
Web AppTuesday, June 29, 2010
I’m all about portable...                    • Most Best smartphones use WebKit                         browsers          ...
CSS/JavaScript the key                    • There are CSS and JavaScript libraries to:                     • Make your app...
But...                    • At the present time can’t get a native look                         and feel for every platfor...
The Good and the Bad                    •    Some success stories                         •   GMail on mobile             ...
Verdict                    • Only basic Web technologies needed, and                         they have decent functionalit...
Multiple-Handset                          FrameworksTuesday, June 29, 2010
Common Elements                    • You write code in some single environment                    • A project is generated...
Differentiators                    • What language(s) do you code in?                    • How many platforms are well-sup...
RhoMobileTuesday, June 29, 2010
Highlights                    • 3 Components                     • Rhodes -- multi-handset development                    ...
Rhodes Technology                    • Write your app logic in Ruby                    • Includes MVC Web framework and an...
Extras                    •    RhoSync                         •   Easily pull information from existing back end         ...
Build Process                    • Run command-line scripts to create project                      • Creates an XCode proj...
Result                    •    Typically not the native look and feel                         •   Though you can create so...
Verdict                    •    Great if you have Ruby skills                    •    Only framework with integrated Web-M...
PhoneGapTuesday, June 29, 2010
Highlights                    • Build apps using only HTML & JavaScript, yet                         still get the native ...
Technology                    • All the power of HTML5/CSS3                     • Plus SVG for fancy graphics?            ...
Disadvantages                    •    Uses phone’s features for a database, etc.                         •   Not really st...
Result                    •    Minimal funny skills required to develop for many phone                         platforms (...
TitaniumTuesday, June 29, 2010
Highlights                    • Also uses HTML, CSS, & JavaScript                    • But has a JavaScript API for native...
Technology & Issues                    • Pretty much the same starting point as                         PhoneGap (includin...
Results                    • More native look and feel, despite using                         only Web technologies       ...
Verdict                    • Best multi-platform development                         experience                         • ...
Wrap-upTuesday, June 29, 2010
Decisions, Decisions                    • If no native features, maybe a Web app is the                         way to go ...
Architecture Issues                    • Do you want code in Ruby, HTML/CSS/JS,                         or the native lang...
Q&A                         ammulder@chariotsolutions.com                          kgriffin@chariotsolutions.comTuesday, Ju...
Upcoming SlideShare
Loading in...5
×

Multi Handset Development - ETE 2010

643

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
643
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Multi Handset Development - ETE 2010

  1. 1. Write Once, Run on Any Handset You know, more or less...Tuesday, June 29, 2010
  2. 2. Agenda • Introduction • The multi-handset approaches • Multiple separate native apps • A Web app • Multi-handset frameworks • Rhodes • PhoneGap • Appcelerator • Summary and Q&ATuesday, June 29, 2010
  3. 3. Speakers • Aaron Mulder, CTO, Chariot Solutions • Kevin Griffin, Architect, Chariot SolutionsTuesday, June 29, 2010
  4. 4. Overall Goal • Build a mobile app that supports as many handsets as possible • Generally targeting smartphones • Limit the time spent fooling with different platforms • But don’t sacrifice functionalityTuesday, June 29, 2010
  5. 5. Multiple Native AppsTuesday, June 29, 2010
  6. 6. Best Case / Worst Case • Let’s imagine we build a separate native app for each device • Using the API and SDK for each device, distribute apps in the platform’s app store or whatever • Using a single backend, and similar screens and architecture for each appTuesday, June 29, 2010
  7. 7. Best Case • Can easily use the native look and feel for each device • Can take advantage of many slick API features (graphics, animation, XML) • Easy to work around handset limitations • Really responsive, and high-performance 3D • Great user interaction: touch, drag, shake...Tuesday, June 29, 2010
  8. 8. Worst Case • iPhone: Objective C • Android: Java (custom blend of Java SE, Java ME, etc.) • BlackBerry: Java ME plus RIM APIs • Palm: WebOS, Mojo framework (HTML & JavaScript) • Symbian: (C++, JavaME, .NET, Python, Qt, etc) • Nokia: Web Runtime (WRT) -- HTML & JavaScript • Windows Phone 7 Series: (.NET)Tuesday, June 29, 2010
  9. 9. Verdict • Benefits include responsiveness, and the look and feel that users are accustomed to • Drawbacks include the huge numbers of SDKs and development platforms • At a minimum, need both Mac and Windows for developers! • Mandatory to coordinate up front to share back end, app architecture and screen flow, etc.Tuesday, June 29, 2010
  10. 10. Web AppTuesday, June 29, 2010
  11. 11. I’m all about portable... • Most Best smartphones use WebKit browsers • iPhone, Android, Palm WebOS, Nokia WRT, BlackBerry 5 (next) • HTML 5 and CSS 3 • But, not Windows Phone (mobile IE)Tuesday, June 29, 2010
  12. 12. CSS/JavaScript the key • There are CSS and JavaScript libraries to: • Make your app look native on a particular platform (iUI, jQTouch) • Access handset features (like GPS) on a particular platform • Plus you can use them to reformat screens for different display sizes...Tuesday, June 29, 2010
  13. 13. But... • At the present time can’t get a native look and feel for every platform • Relies on a solid WiFi/3G connection, and still not as performant • Detecting the specific device is up to you (with the help of WURFL, MobileFu, etc.)Tuesday, June 29, 2010
  14. 14. The Good and the Bad • Some success stories • GMail on mobile • iSepta • Did you try phillyemergingtech.com ? • Some sites with issues • Links in break when redirected to mobile site • Broken flipping between mobile and ‘full’ siteTuesday, June 29, 2010
  15. 15. Verdict • Only basic Web technologies needed, and they have decent functionality • Can use any back-end technology you want (Java, Ruby, .NET, whatever) • In the end, may still need customizations for each style of handset (screen size, etc.) • And separate “mobile” Web sites can have their own usability issuesTuesday, June 29, 2010
  16. 16. Multiple-Handset FrameworksTuesday, June 29, 2010
  17. 17. Common Elements • You write code in some single environment • A project is generated for each platform and needs to be built/run • With varying degrees of automation • You get a native app, with some framework code and some of your code • Debugging options are limitedTuesday, June 29, 2010
  18. 18. Differentiators • What language(s) do you code in? • How many platforms are well-supported? • What native features are supported? • What’s the look and feel? • How easy is the development process? • Is there any cost?Tuesday, June 29, 2010
  19. 19. RhoMobileTuesday, June 29, 2010
  20. 20. Highlights • 3 Components • Rhodes -- multi-handset development • RhoSync -- integration • RhoHub -- hosted IDE/build system • Commercial with varying costs (except for open source mobile apps)Tuesday, June 29, 2010
  21. 21. Rhodes Technology • Write your app logic in Ruby • Includes MVC Web framework and an ORM layer • Screens in HTML & JavaScript • Packages a Ruby interpreter with your app on the phoneTuesday, June 29, 2010
  22. 22. Extras • RhoSync • Easily pull information from existing back end sources into a Rhodes app • Write adapter logic in Ruby • RhoHub • Online development/build environment (need no SDK on local machine) • Hosted RhoSync adaptersTuesday, June 29, 2010
  23. 23. Build Process • Run command-line scripts to create project • Creates an XCode project for iPhone • Creates an APK for Android • Creates Visual Studio project WM. • Creates a (Windows) SDK proj. for Blackberry • Then build that project like a native oneTuesday, June 29, 2010
  24. 24. Result • Typically not the native look and feel • Though you can create some elements like a tab bar with the Rhodes API • And you can use libraries like iUI • Can access a variety of native features depending on the platform • Best for iPhone, Android and Blackberry (Windows Phone 7 under discussion)Tuesday, June 29, 2010
  25. 25. Verdict • Great if you have Ruby skills • Only framework with integrated Web-MVC and ORM option • Great if you want easy sync to existing apps or data stores • RhoHub can be nice to develop for multiple phones from one machine • But not free to develop non-OSS appsTuesday, June 29, 2010
  26. 26. PhoneGapTuesday, June 29, 2010
  27. 27. Highlights • Build apps using only HTML & JavaScript, yet still get the native app experience • Excellent build scripts to create the native projects • iPhone, Android, Palm, BlackBerry, plus Windows Phone, Symbian • Exposes native phone features via a JavaScript APITuesday, June 29, 2010
  28. 28. Technology • All the power of HTML5/CSS3 • Plus SVG for fancy graphics? • Prefers XUI (like JQuery), but what the heck, you could put any JS stuff in there • Best to use JSON for talking to a server • Runs locally on phone -- performs OK and no issues with cross-domain JavaScriptTuesday, June 29, 2010
  29. 29. Disadvantages • Uses phone’s features for a database, etc. • Not really standard beyond ‘local storage’ • All your validation/logic/etc. is in JavaScript... hopefully not embedded in every page (see ‘before Web MVC’) • Debugging options are pretty limited • Maybe run in Firebug, if not using native phone featuresTuesday, June 29, 2010
  30. 30. Result • Minimal funny skills required to develop for many phone platforms (HTML & JS) • But still need to drive XCode,Visual Studio, Java compiler, etc. -- especially if you want to extend the PhoneGap API • Similar look and feel issues as regular Web apps • Great for something that could be a regular Web app, but would be just a little bit better with native features & app store • Great handset support (and lowest cost) of all these frameworksTuesday, June 29, 2010
  31. 31. TitaniumTuesday, June 29, 2010
  32. 32. Highlights • Also uses HTML, CSS, & JavaScript • But has a JavaScript API for native widgets to get a native look and feel • Great tooling builds native executables under the covers • Limited platform support (iPhone, Android, and BlackBerry coming) (iPad just added!)Tuesday, June 29, 2010
  33. 33. Technology & Issues • Pretty much the same starting point as PhoneGap (including limited debugging) • Uses “Titanium” runtime (also a desktop version available) • Can’t run in a browser • Titanium API has some nice features that give you a few more optionsTuesday, June 29, 2010
  34. 34. Results • More native look and feel, despite using only Web technologies • Very easy development process (e.g. click “Run in iPhone Simulator” button) • Don’t even need to know XCode • Still the native app experience • All Web stuff runs locally, like PhoneGapTuesday, June 29, 2010
  35. 35. Verdict • Best multi-platform development experience • If you’re OK with the cost and the limited number of platforms supported • Nice to have the native UI option • Still best for Web 2.0 ninjas • If JavaScript isn’t your thing, then...?Tuesday, June 29, 2010
  36. 36. Wrap-upTuesday, June 29, 2010
  37. 37. Decisions, Decisions • If no native features, maybe a Web app is the way to go (esp. with HTML5 features) • Or PhoneGap if you want the app store experience • If maximum performance or native features are key, maybe you need multiple native apps • Titanium is easiest framework to use, but with fewer supported platformsTuesday, June 29, 2010
  38. 38. Architecture Issues • Do you want code in Ruby, HTML/CSS/JS, or the native languages? • Do you want code living on the handset or on a Web server? • Remember: old releases may never die • Do you favor an MVC Web framework? • Does your back end support JSON?Tuesday, June 29, 2010
  39. 39. Q&A ammulder@chariotsolutions.com kgriffin@chariotsolutions.comTuesday, June 29, 2010
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×