Your SlideShare is downloading. ×
0
Mobile Apps
                         Native, Web, or Both?




                                                 Bill Heyma...
Smartphones 2010
                        Two major players in Smartphone market
                         support state-of-...
iPhone
                    • Arrived 2007
                    • 3 models (iPhone, iPod touch, iPad)
                    • ...
Android
                    • Arrived 2008
                    • 25 different phones (plus other devices)
                ...
Web Commonality
                 WebKit-based browser
                 As of Android OS 2.0, both iPhone and Android
     ...
App Spectrum

            Web



                        Uses web standard technologies:

                             HTM...
App Spectrum

            Web                                               Native




                        Uses tools ...
App Spectrum

            Web                        Hybrid                   Native


                        Combines We...
Hybrid Apps ~ Native

                             Hybrid                Native


                    • Packaged in a Nati...
App Spectrum

            Web             Hybrid     Native




Tuesday, May 11, 2010
Web                Web Apps

                        Two types of mobile web apps:
                        1. Traditional
...
Web                Traditional Web

                        1. Thin-client apps (mobile browser-based)
                   ...
Web                           Offline Web
                        1. Thicker-clients (mobile browser-based)
               ...
App Spectrum

            Web             Hybrid     Native




Tuesday, May 11, 2010
Native          Native Apps


   1. Thick-client apps
   2. Developed in standard
      development
                      ...
Native         Native Apps

  3. May include an in-app
     web browser.
     (Custom formatting)
  4. The web browser
   ...
Native                     Native Apps

              5. Direct access to the native capabilities
                 of the ...
Native                    Native Apps

              6. May be distributed as an application and
                 marketed...
App Spectrum

            Web             Hybrid     Native




Tuesday, May 11, 2010
Hybrid           Hybrid Apps

                        1. Thick Client Apps
                        2. Use Native wrappers ...
Hybrid       Hybrid Apps

                 Some Web hybrid wrapper frameworks include:




                               ...
PhoneGap

                        http://phonegap.com
                        FOSS framework
                        minim...
Hybrid        Hybrid Aps

                 Some Web hybrid wrapper frameworks include:




                               ...
Appcelerator
                                 Titanium
                        http://appcelerator.com
                   ...
Hybrid           Hybrid Apps

           Some Non-Web hybrid wrapper frameworks include:



                        Adobe ...
Hybrid              The Good
                        1. Quicker learning curve, can re-use your
                          ...
Hybrid                The Bad

                        1. Slower performance (compared to Native)
                        ...
Hybrid              The Ugly




                        The Elephant in the Corner of the Room
Tuesday, May 11, 2010
What’s with the
                             elephant?
                    • Apple’s iPhone OS is closed & restrictive
   ...
Bad Apple
                        Apple sets the rules...
                           ... and can change the rules at any t...
Section 3.3.1


                        Adobe AIR      Unity       rhomobile
                          Flash

            ...
Section 3.3.1



                        ??
                        PhoneGap
                                   Appcelerat...
Why?

               As a developer, why put up with
                     Apple’s restrictions?
                    • Mark...
A few words on
                    • Android provides access to more device
                        features than iPhone.
...
What to do?
                    1. Style your Web site using mobile-specific
                       proportions and style s...
Looking toward 2011
                    • More WebKit technologies:
                     • WebGL
                     • SV...
Thank You!
                        For mobile app development questions,
                                please contact me...
Upcoming SlideShare
Loading in...5
×

CodeMorphic at MinneWebCon 2010

1,382

Published on

iPhone, Android, hybrid, PhoneGap, Titanium

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
1,382
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "CodeMorphic at MinneWebCon 2010"

  1. 1. Mobile Apps Native, Web, or Both? Bill Heyman CodeMorphic, Inc. Tuesday, May 11, 2010
  2. 2. Smartphones 2010 Two major players in Smartphone market support state-of-the-art web standards: Tuesday, May 11, 2010
  3. 3. iPhone • Arrived 2007 • 3 models (iPhone, iPod touch, iPad) • Tied to a single US carrier (AT&T) • Installed base 85M (includes iPod touch) • Almost 200K apps available • Tightly controlled Tuesday, May 11, 2010
  4. 4. Android • Arrived 2008 • 25 different phones (plus other devices) • All major US carriers • Installed base of 8M and increasing • Heading toward 50K apps • Generally open, loosely controlled Tuesday, May 11, 2010
  5. 5. Web Commonality WebKit-based browser As of Android OS 2.0, both iPhone and Android support new web standard and HTML5 features, such as: <video> local database geolocation canvas <audio> offline app caching transitions Tuesday, May 11, 2010
  6. 6. App Spectrum Web Uses web standard technologies: HTML, CSS, JavaScript Tuesday, May 11, 2010
  7. 7. App Spectrum Web Native Uses tools & compiled languages that are targeted for the device. Tuesday, May 11, 2010
  8. 8. App Spectrum Web Hybrid Native Combines Web and Native technologies. Generally, the web technologies are wrapped by a native shell. Tuesday, May 11, 2010
  9. 9. Hybrid Apps ~ Native Hybrid Native • Packaged in a Native App shell • Installed like Native Apps • Distributed like Native Apps But developed with non-native technologies. Tuesday, May 11, 2010
  10. 10. App Spectrum Web Hybrid Native Tuesday, May 11, 2010
  11. 11. Web Web Apps Two types of mobile web apps: 1. Traditional 2. Offline Tuesday, May 11, 2010
  12. 12. Web Traditional Web 1. Thin-client apps (mobile browser-based) 2. Require a persistent Internet connection 3. Processing and persistence mostly on the server-side (PHP, Python, Ruby, ...) Tuesday, May 11, 2010
  13. 13. Web Offline Web 1. Thicker-clients (mobile browser-based) 2. No persistent Internet connection required 3. App web pages are stored on device; user can quickly reference via a bookmark 4. Makes use of HTML5: • application cache (manifest) • local database Tuesday, May 11, 2010
  14. 14. App Spectrum Web Hybrid Native Tuesday, May 11, 2010
  15. 15. Native Native Apps 1. Thick-client apps 2. Developed in standard development XCode Eclipse languages, as defined by the platform C/C++ Java/JVM Objective-C Tuesday, May 11, 2010
  16. 16. Native Native Apps 3. May include an in-app web browser. (Custom formatting) 4. The web browser doesn’t have to use the full screen. UIWebView WebView (Custom control) Tuesday, May 11, 2010
  17. 17. Native Native Apps 5. Direct access to the native capabilities of the device... accelerometer file system camera audio recording graphics as limited by the device provider Tuesday, May 11, 2010
  18. 18. Native Native Apps 6. May be distributed as an application and marketed through the App Store or Market as limited by the device provider Tuesday, May 11, 2010
  19. 19. App Spectrum Web Hybrid Native Tuesday, May 11, 2010
  20. 20. Hybrid Hybrid Apps 1. Thick Client Apps 2. Use Native wrappers as an app package 3. Provide an in-app web browser to display Web content to the user (HTML, CSS, JavaScript) Tuesday, May 11, 2010
  21. 21. Hybrid Hybrid Apps Some Web hybrid wrapper frameworks include: Appcelerator PhoneGap Titanium Both give access via JavaScript to some device features, previously reserved for Native apps. Tuesday, May 11, 2010
  22. 22. PhoneGap http://phonegap.com FOSS framework minimalist philosophy easy to use: put files in the www folder Tuesday, May 11, 2010
  23. 23. Hybrid Hybrid Aps Some Web hybrid wrapper frameworks include: Appcelerator PhoneGap Titanium Tuesday, May 11, 2010
  24. 24. Appcelerator Titanium http://appcelerator.com Commercial open source framework not necessarily “free as in beer” extensive JavaScript libraries AIR-like: supports desktop, too... Tuesday, May 11, 2010
  25. 25. Hybrid Hybrid Apps Some Non-Web hybrid wrapper frameworks include: Adobe AIR Unity rhomobile Flash MonoTouch Corona MonoDroid Tuesday, May 11, 2010
  26. 26. Hybrid The Good 1. Quicker learning curve, can re-use your existing skills 2. Easier to target apps for both iPhone and Android 3. Use existing HTML/CSS/JavaScript tools for development and testing Tuesday, May 11, 2010
  27. 27. Hybrid The Bad 1. Slower performance (compared to Native) 2. App doesn’t quite feel right, sluggish, non- responsive 3. Some device features may not be available or not quite as accessible Tuesday, May 11, 2010
  28. 28. Hybrid The Ugly The Elephant in the Corner of the Room Tuesday, May 11, 2010
  29. 29. What’s with the elephant? • Apple’s iPhone OS is closed & restrictive • API, device feature usage is limited • Restrictive NDAs required to develop on unreleased software • App distribution is controlled by Apple • If Apple doesn’t like your app... Sorry, Charlie! Tuesday, May 11, 2010
  30. 30. Bad Apple Apple sets the rules... ... and can change the rules at any time! Like, just last week: te d 3.3.1 — Applications may only use Documented APIs in the c manner prescribed by Apple and must not use or call any da private APIs. Applications must be originally written in e Objective-C, C, C++, or JavaScript as executed by the R iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited). Tuesday, May 11, 2010
  31. 31. Section 3.3.1 Adobe AIR Unity rhomobile Flash MonoTouch Corona MonoDroid Tuesday, May 11, 2010
  32. 32. Section 3.3.1 ?? PhoneGap Appcelerator Titanium Tuesday, May 11, 2010
  33. 33. Why? As a developer, why put up with Apple’s restrictions? • Market: 85M devices (10x Android) • App Store Exposure • Large Market = Great Potential $$$ Apple’s restrictions do not apply to pure Web applications (traditional and offline) Tuesday, May 11, 2010
  34. 34. A few words on • Android provides access to more device features than iPhone. • You choose how to distribute your app: • Via Google Market • Via your own mechanism (web site) • Android drawback: Plethora of devices and device capabilities, screen sizes, resolutions, etc. Tuesday, May 11, 2010
  35. 35. What to do? 1. Style your Web site using mobile-specific proportions and style sheets. 2. Consider if there are portions of your Web site that could be useful offline for mobile users. 3. Best bets for Hybrid packaging: PhoneGap and Appcelerator Titanium 4. Determine if a user may be better served with a Native app. Tuesday, May 11, 2010
  36. 36. Looking toward 2011 • More WebKit technologies: • WebGL • SVG • Android market penetration increasing quickly. • Another major player? 7 Tuesday, May 11, 2010
  37. 37. Thank You! For mobile app development questions, please contact me at: Bill Heyman @byteCoder bill@codemorphic.com Tuesday, May 11, 2010
  1. A particular slide catching your eye?

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

×