SlideShare a Scribd company logo
Mobile Apps
                         Native, Web, or Both?




                                                 Bill Heyman
                                                 CodeMorphic, Inc.

Tuesday, May 11, 2010
Smartphones 2010
                        Two major players in Smartphone market
                         support state-of-the-art web standards:




Tuesday, May 11, 2010
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
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
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
App Spectrum

            Web



                        Uses web standard technologies:

                             HTML, CSS, JavaScript

Tuesday, May 11, 2010
App Spectrum

            Web                                               Native




                        Uses tools & compiled languages that are
                                targeted for the device.


Tuesday, May 11, 2010
App Spectrum

            Web                        Hybrid                   Native


                        Combines Web and Native technologies.

                          Generally, the web technologies are
                              wrapped by a native shell.

Tuesday, May 11, 2010
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
App Spectrum

            Web             Hybrid     Native




Tuesday, May 11, 2010
Web                Web Apps

                        Two types of mobile web apps:
                        1. Traditional
                        2. Offline




Tuesday, May 11, 2010
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
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
App Spectrum

            Web             Hybrid     Native




Tuesday, May 11, 2010
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
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
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
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
App Spectrum

            Web             Hybrid     Native




Tuesday, May 11, 2010
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
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
PhoneGap

                        http://phonegap.com
                        FOSS framework
                        minimalist philosophy
                        easy to use: put files in the www folder




Tuesday, May 11, 2010
Hybrid        Hybrid Aps

                 Some Web hybrid wrapper frameworks include:




                                       Appcelerator
                         PhoneGap
                                        Titanium


Tuesday, May 11, 2010
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
Hybrid           Hybrid Apps

           Some Non-Web hybrid wrapper frameworks include:



                        Adobe AIR      Unity       rhomobile
                          Flash

                               MonoTouch       Corona
                               MonoDroid
Tuesday, May 11, 2010
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
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
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
                    • 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
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
Section 3.3.1


                        Adobe AIR      Unity       rhomobile
                          Flash

                               MonoTouch       Corona
                               MonoDroid


Tuesday, May 11, 2010
Section 3.3.1



                        ??
                        PhoneGap
                                   Appcelerator
                                    Titanium




Tuesday, May 11, 2010
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
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
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
Looking toward 2011
                    • More WebKit technologies:
                     • WebGL
                     • SVG
                    • Android market penetration increasing
                        quickly.
                    • Another major player?
                                                         7
Tuesday, May 11, 2010
Thank You!
                        For mobile app development questions,
                                please contact me at:


                                    Bill Heyman
                                    @byteCoder
                               bill@codemorphic.com


Tuesday, May 11, 2010

More Related Content

PDF
Html5 overview
PDF
Webinar Mobile ECM Apps with Nuxeo EP
PDF
Building Apps with PhoneGap
PDF
Flash and Flex in an HTML5 / App Store World
PPT
Flash for Blackberry, iPhone and Android
PPT
Adobe Flash and Device Central
PDF
Web Browser Demystified
PDF
Nokia E7 Smartphone: Business Solutions
Html5 overview
Webinar Mobile ECM Apps with Nuxeo EP
Building Apps with PhoneGap
Flash and Flex in an HTML5 / App Store World
Flash for Blackberry, iPhone and Android
Adobe Flash and Device Central
Web Browser Demystified
Nokia E7 Smartphone: Business Solutions

Similar to CodeMorphic at MinneWebCon 2010 (20)

PPT
Overview of Mobile Development Platforms
KEY
Putting Web Into Native App
PPT
Hybrid app development
PDF
Jax 2011 keynote
PDF
DDive- Giuseppe Grasso - mobile su Lotus
PPTX
Primers on mobile application development
PDF
Mobile HTML5 Web Apps - Codemotion 2012
PDF
W3C Widgets: Apps made with Web Standards
PDF
France ug 11302010
PDF
UGIF 12 2010 - France UG
PDF
Informix User Group France - 30/11/2010 - Informix &amp; Open Source - J Roy
PDF
Mozilla And Open Web
PPT
Firefox OS
PPTX
Developing cross platform mobile applications with phone gap for windows phone
PDF
HTML5 or Android for Mobile Development?
PDF
Building Native Mobile Applications with PhoneGap
PPTX
Flash platform fitc
PPT
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
PDF
Development Workshop on ET1, Android and Motorola RhoElements
KEY
HTML5 and the Mobile Web
Overview of Mobile Development Platforms
Putting Web Into Native App
Hybrid app development
Jax 2011 keynote
DDive- Giuseppe Grasso - mobile su Lotus
Primers on mobile application development
Mobile HTML5 Web Apps - Codemotion 2012
W3C Widgets: Apps made with Web Standards
France ug 11302010
UGIF 12 2010 - France UG
Informix User Group France - 30/11/2010 - Informix &amp; Open Source - J Roy
Mozilla And Open Web
Firefox OS
Developing cross platform mobile applications with phone gap for windows phone
HTML5 or Android for Mobile Development?
Building Native Mobile Applications with PhoneGap
Flash platform fitc
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Development Workshop on ET1, Android and Motorola RhoElements
HTML5 and the Mobile Web
Ad

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Approach and Philosophy of On baking technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Empathic Computing: Creating Shared Understanding
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Weekly Chronicles - August'25-Week II
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Approach and Philosophy of On baking technology
Chapter 3 Spatial Domain Image Processing.pdf
Review of recent advances in non-invasive hemoglobin estimation
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Network Security Unit 5.pdf for BCA BBA.
Assigned Numbers - 2025 - Bluetooth® Document
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
Ad

CodeMorphic at MinneWebCon 2010

  • 1. Mobile Apps Native, Web, or Both? Bill Heyman CodeMorphic, Inc. Tuesday, May 11, 2010
  • 2. Smartphones 2010 Two major players in Smartphone market support state-of-the-art web standards: Tuesday, May 11, 2010
  • 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. 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. 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. App Spectrum Web Uses web standard technologies: HTML, CSS, JavaScript Tuesday, May 11, 2010
  • 7. App Spectrum Web Native Uses tools & compiled languages that are targeted for the device. Tuesday, May 11, 2010
  • 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. 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. App Spectrum Web Hybrid Native Tuesday, May 11, 2010
  • 11. Web Web Apps Two types of mobile web apps: 1. Traditional 2. Offline Tuesday, May 11, 2010
  • 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. 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. App Spectrum Web Hybrid Native Tuesday, May 11, 2010
  • 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. 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. 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. 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. App Spectrum Web Hybrid Native Tuesday, May 11, 2010
  • 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. 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. PhoneGap http://phonegap.com FOSS framework minimalist philosophy easy to use: put files in the www folder Tuesday, May 11, 2010
  • 23. Hybrid Hybrid Aps Some Web hybrid wrapper frameworks include: Appcelerator PhoneGap Titanium Tuesday, May 11, 2010
  • 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. Hybrid Hybrid Apps Some Non-Web hybrid wrapper frameworks include: Adobe AIR Unity rhomobile Flash MonoTouch Corona MonoDroid Tuesday, May 11, 2010
  • 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. 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. Hybrid The Ugly The Elephant in the Corner of the Room Tuesday, May 11, 2010
  • 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. 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. Section 3.3.1 Adobe AIR Unity rhomobile Flash MonoTouch Corona MonoDroid Tuesday, May 11, 2010
  • 32. Section 3.3.1 ?? PhoneGap Appcelerator Titanium Tuesday, May 11, 2010
  • 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. 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. 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. Looking toward 2011 • More WebKit technologies: • WebGL • SVG • Android market penetration increasing quickly. • Another major player? 7 Tuesday, May 11, 2010
  • 37. Thank You! For mobile app development questions, please contact me at: Bill Heyman @byteCoder bill@codemorphic.com Tuesday, May 11, 2010