Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile Apps: Native or Not?

Mobile Apps: Native or Not?

My deck from the Emerging Tech Meetup at Cantina on February 29th, 2012. You might also want to check out http://speakerdeck.com/u/matthewcrist/p/tools-of-the-mobile-web, which was also presented at the meetup

698032ac4563906c45099613cb6b80a7?s=128

George White

March 02, 2012
Tweet

Transcript

  1. Mobile Apps: Native or Not? George White Technical Architect, Cantina

    @stonehippo george@cantina.co Friday, March 2, 12
  2. We hear this a lot: “should we build a native

    app or an HTML5 web app?” Friday, March 2, 12
  3. tl;dr: It depends quite a bit on the context and

    requirements of your app Friday, March 2, 12
  4. What are your options? Friday, March 2, 12

  5. Native apps Friday, March 2, 12

  6. Mobile web apps Friday, March 2, 12

  7. Hybrids (and MEAPs) Friday, March 2, 12

  8. Please take note: for end users hybrid = native Friday,

    March 2, 12
  9. So hybrid apps must feel native, or users are going

    to be turned off Friday, March 2, 12
  10. And “feeling native” means fast, responsive and only classy violation

    of native defaults* * it does not have to mean cloning UI elements. I’m looking at you, Sencha. Friday, March 2, 12
  11. The decision about how to implement your app is driven

    by several factors Friday, March 2, 12
  12. Requirements must drive the decision and you have several decision

    gates to go through Friday, March 2, 12
  13. BTW: “native” on the next few slides sometimes means “and

    hybrids, too” Friday, March 2, 12
  14. Is you application “processor intensive”? Friday, March 2, 12

  15. Advantage: native Friday, March 2, 12

  16. Do you need high-performance graphics? Friday, March 2, 12

  17. Advantage: native For now. WebGL support and improved hardware acceleration

    is closing this gap and will only get better in the next couple of years. Friday, March 2, 12
  18. Do you need offline capabilities? Friday, March 2, 12

  19. Advantage: native But you can do some cool offline stuff

    with web apps on some platforms! And if Chrome ever gets over the 5MB limitation thing, this could go away Friday, March 2, 12
  20. Do you need secure local storage of data? Friday, March

    2, 12
  21. Advantage: native Friday, March 2, 12

  22. Do you need the ability to immediately update your app

    remotely? Friday, March 2, 12
  23. Advantage: mobile web apps, server-driven MEAPs Friday, March 2, 12

  24. Is this app being built on top of an existing

    system? Friday, March 2, 12
  25. Advantage: I wish I knew. If that existing system as

    well-crafted, mobile-friendly Web services, then just about any of the options is going to work. And in the real world, you probably going to feel some pain no matter what. Friday, March 2, 12
  26. Do you need access to the camera or other device

    hardware? Friday, March 2, 12
  27. Advantage: native But don’t assume you can’t go web app.

    Some device APIs are available for many mobile web browsers, e.g., GeoLocation Friday, March 2, 12
  28. Do you need or want to be in an app

    store? Friday, March 2, 12
  29. Advantage: native Friday, March 2, 12

  30. Do you hate bureaucracy? Friday, March 2, 12

  31. Advantage: mobile web apps Friday, March 2, 12

  32. What platform(s) do you want to be on? Friday, March

    2, 12
  33. Advantage: not really clear. The problem here is that it’s

    too context-dependent. Not all mobile web browsers are created equal, and there are things you can do with one that you can only dream of with the others. Friday, March 2, 12
  34. How much code do you want to write to support

    multiple platforms? Friday, March 2, 12
  35. Advantage: anything but pure native Friday, March 2, 12

  36. Developer skill set (this one is less important than you

    might think) Friday, March 2, 12
  37. Yes, it can be expensive for you team to learn

    the skills required to do native development Friday, March 2, 12
  38. and if your team is made of up web developers,

    mobile web apps may reduce time to develop your apps Friday, March 2, 12
  39. But learning is good :) Friday, March 2, 12

  40. And you’ll have a team that will understand your target

    devices that much better Friday, March 2, 12
  41. In the end, remember: It’s a false choice Friday, March

    2, 12
  42. “Pure” native can still use the web: web views allow

    native apps to make use of web content Friday, March 2, 12
  43. and many native apps are driven by web services Friday,

    March 2, 12
  44. Device APIs will close some of the gaps between native

    and the mobile web Friday, March 2, 12
  45. But adoption is slow and spotty Friday, March 2, 12

  46. Also, the context of your audience and business needs may

    require both native and web-delivered apps Friday, March 2, 12
  47. What about cost? Friday, March 2, 12

  48. For apps to roughly equal complexity it turns out to

    be the same* *This might not be true for MEAPS Friday, March 2, 12
  49. Want to chat about this some more? George White Technical

    Architect @stonehippo george@cantina.co Friday, March 2, 12