SlideShare a Scribd company logo
1 of 46
Download to read offline
HTML    vs

NATIVE APPLICATIONS
Hello.
Zach Leatherman
Front End Engineer since Y2K - 1
Senior Project Engineer at Union Pacific Railroad
767,000+ page views
1,000+ RSS subscribers
Published on: Lifehacker, DailyJS, JavaScript Weekly, Ajaxian
Member of two winning Omaha Startup Weekend teams




     @zachleat                                     http://zachleat.com
All Source Code and Slides
 zachleat.com/mobile/uno/
MOBILE

http://www.flickr.com/photos/umpcportal/3221591123/
PLATFORMS
HOW TO DECIDE?
•Market Share / Popularity
•Learning Curve
MARKET SHARE
http://www.flickr.com/photos/rednuht/479370088/
Market Share (%)                                 Units Sold (Thousands)
  21                                               12000

15.75                                              9000

 10.5                                              6000

5.25                                               3000

   0                                                  0
        1Q09 2Q09 3Q09 4Q09   1Q10   2Q10   3Q10           1Q09 2Q09 3Q09 4Q09   1Q10   2Q10   3Q10
*
            Market Share (%)                                   Units Sold (Thousands)
60                                              30000

45                                              22500

30                                              15000

15                                               7500

 0                                                    0
     1Q09 2Q09 3Q09 4Q09   1Q10   2Q10   3Q10             1Q09 2Q09 3Q09 4Q09    1Q10   2Q10   3Q10




                                            * Likely dissolving due to Windows Phone 7 Partnership
*

              Market Share (%)                                  Units Sold (Thousands)
 11                                               5000

8.25                                              3750

 5.5                                              2500

2.75                                              1250

  0                                                    0
       1Q09 2Q09 3Q09 4Q09   1Q10   2Q10   3Q10            1Q09 2Q09 3Q09 4Q09     1Q10   2Q10   3Q10




                         * Not included in Charts, but 2M devices sold to carriers as of end of 2010
Market Share (%)                                 Units Sold (Thousands)
 18                                               14000

13.5                                              10500

  9                                               7000

 4.5                                              3500

  0                                                  0
       1Q09 2Q09 3Q09 4Q09   1Q10   2Q10   3Q10           1Q09 2Q09 3Q09 4Q09   1Q10   2Q10   3Q10
Market Share (%)                                   Units Sold (Thousands)
 30                                                      30000

22.5                                                     22500

 15                                                      15000

 7.5                                                      7500

  0                                                          0
       1Q09   2Q09    3Q09   4Q09   1Q10   2Q10   3Q10           1Q09   2Q09   3Q09   4Q09   1Q10   2Q10   3Q10
CHANGE
HAPPENS

     http://www.flickr.com/photos/bestrated1/3027598360/
FRAGMENTATION HAPPENS
LEARNING CURVE

http://www.flickr.com/photos/riebart/4466482623/
LANGUAGES
     C++

     Objective C

     Java

     JavaScript

     Java

     XNA or Silverlight
DEVELOPMENT REQUIREMENTS
                    Cross Platform
 Requires MacOS X



 Requires Windows




 Requires Windows
(THIS SUCKS)
T HIS IS
                  A SIGN



                                                                        TO OM ANY
 OO M ANY                                                                                 RES
T                                                                                   P STO
    DE VI CES                                                               AP




                           http://www.flickr.com/photos/oblongpictures/4516124048/
I WANT MY APP TO WORK WITH
MULTIPLE PLATFORMS
?
(OKAY, MORE LIKE AN “EASIER BUTTON”)
WHAT DO ALL
THESE DEVICES
HAVE IN
COMMON?
    http://www.flickr.com/photos/paulwb/4248242126/
THE WEB BROWSER
Cue



HTML
and friends
Crash Course
HTML
             (Content)

<!doctype html>
<html>
  <head></head>
  <body>
    This is the content.
    It shows in the browser window.
  </body>
</html>
CSS
     (How it looks)



body {
  background-color: #000;
  color: #fff;
}
JavaScript
             (How it behaves)


document.body.addEventListener(‘click’,
  function()
  {
    alert(‘You clicked on the page.’);
  }, false);
Combined
<!doctype html>
<html>
  <head>
    <style>
    body {
       background-color: #000;
       color: #fff;
    }
    </style>
  </head>
  <body>
    This is the content.
    It shows in the browser window.

    <script>
    document.body.addEventListener(‘click’, function()
    {
      alert(‘You clicked on the page.’);
    }, false);
    </script>
  </body>
</html>
Let’s Make A
Multi-Platform Web App
Laundry Timer
WASH           DRY


45:00
       START
(DEMO)
CSS Media Queries
•Adaptable Layout for Different Screen Sizes
  <meta name="viewport"
       content="width=device-width, initial-
    scale=1.0">

  <style>
  label {
    width: 50%;
  }

  @media all and (max-width: 399px) {
    label {                                  min-device-width
       width: 100%;                          max-device-width
    }                                               min-width
  }                                                 max-width
                                      orientation: landscape;
  </style>                             orientation: portrait;
                                                                              min-device-pixel-ratio
                                                                           (iPhone 4 Retina Display)
  http://stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries
  https://developer.mozilla.org/En/CSS/Media_queries
HTML5 Audio
•Plays a sound when finished
   <audio id="priceiswrong" preload="auto" autobuffer>
     <source src="price-is-right-fail.ogg" />
     <source src="price-is-right-fail.mp3" />
   </audio>

   document.getElementById('priceiswrong').play();


•Make sure the file is encoded correctly.
 •OGG, MP3, etc
HTML5 LocalStorage
•Reload the app, saves your timer
   // save Date as a string on start
   localStorage.setItem('laundryTimer', time.getTime());

   // remove when the alarm plays
   localStorage.removeItem('laundryTimer');

   // retrieve the saved time on page load (if exists)
   var savedTimer = localStorage.getItem('laundryTimer');
HTML5 Offline
•Access the app without internet
  <html manifest="cache.manifest">



  .htaccess file
  AddType text/cache-manifest .manifest



  cache.manifest file
  CACHE MANIFEST
  price-is-right-fail.mp3
  price-is-right-fail.ogg
Possible Features
•Return directions to Laundromat(Geolocation)
•Video                   •Graphics
•2D/3D Transforms        •File Access
•Web Fonts
Let’s Make A
Multi-Platform Native App
Native Options

•Accelerometer   •File System
•Camera          •Media (Record)
•Compass         •Network State
•Contacts        •Notifications
PhoneGap
PhoneGap
It’s Easy to Start


http://www.phonegap.com/start
CAVEATS
•Not all web browsers are created equal
 •Blackberry OS     (watch out: pre v5)


 •IE Mobile  (watch out: pre IE9, due 4Q2011)


•Lowest Common Denominator Development
 •Not every device requires/can support the
    same experience
RESOURCES
•Can I Use?                     http://caniuse.com




•Dive Into HTML5                               http://diveintohtml5.org




•HTML5 Rocks                           http://www.html5rocks.com/




•PhoneGap                      http://phonegap.com




•Rethinking the Mobile Web
  rethinking-the-mobile-web-by-yiibu
                                                                          http://www.slideshare.net/bryanrieger/




•jQuery Mobile                            http://jquerymobile.com
Thanks!

Zach Leatherman
 @zachleat

 http://zachleat.com
SOURCES
•   ADMOB has more Mobile Operating System Statistics: http://metrics.admob.com/wp-
    content/uploads/2010/06/May-2010-AdMob-Mobile-Metrics-Highlights.pdf

•   Great stats on different App Stores on Wikipedia: http://en.wikipedia.org/wiki/
    List_of_digital_distribution_platforms_for_mobile_devices

•   ADMOB App Usage Survey: http://metrics.admob.com/wp-content/uploads/2010/03/
    AdMob-Mobile-Metrics-Jan-10-Survey-Supplement.pdf

•   ADMOB Mobile Metrics Highlights May 2010: http://metrics.admob.com/wp-content/
    uploads/2010/06/May-2010-AdMob-Mobile-Metrics-Highlights.pdf

More Related Content

Similar to HTML5 vs. Native Applications

iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für TabletsIndiginox
 
Web Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at GoogleWeb Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at GoogleEstelle Weyl
 
The Mobile Question: Lessons in Design and Strategy for Your Mobile Experience
The Mobile Question: Lessons in Design and Strategy for Your Mobile ExperienceThe Mobile Question: Lessons in Design and Strategy for Your Mobile Experience
The Mobile Question: Lessons in Design and Strategy for Your Mobile ExperienceJeremy Johnson
 
Gnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and youGnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and youAndrew Savory
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12touchtitans
 
Astricon 2019 Astricon Alan Quayle
Astricon 2019 Astricon Alan QuayleAstricon 2019 Astricon Alan Quayle
Astricon 2019 Astricon Alan QuayleAlan Quayle
 
Thanks to social media, consumers are even more powerful than advertisers
Thanks to social media, consumers are even more powerful than advertisersThanks to social media, consumers are even more powerful than advertisers
Thanks to social media, consumers are even more powerful than advertisersAdNerds
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Moullet
 
Le futur du digital
Le futur du digitalLe futur du digital
Le futur du digitalGoldenMarket
 
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market SizingBy The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market SizingAlan Quayle
 
Building an Appier Web - May 2016
Building an Appier Web - May 2016Building an Appier Web - May 2016
Building an Appier Web - May 2016Andy Davies
 
Getting the Magic on Android Tablets
Getting the Magic on Android TabletsGetting the Magic on Android Tablets
Getting the Magic on Android TabletsOSCON Byrum
 
Don't Take Your Mobile Device To The Bathroom
Don't Take Your Mobile Device To The BathroomDon't Take Your Mobile Device To The Bathroom
Don't Take Your Mobile Device To The BathroomRob Sawyer
 
Platform agnostic information systems development
Platform agnostic information systems developmentPlatform agnostic information systems development
Platform agnostic information systems developmentMark Jayson Fuentes
 
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Chris Griffith
 
Silverlight in Internet Scenarios
Silverlight in Internet ScenariosSilverlight in Internet Scenarios
Silverlight in Internet ScenariosRicardo Fiel
 
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...David Kaneda
 
AWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAmazon Web Services
 

Similar to HTML5 vs. Native Applications (20)

iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für TabletsiEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
iEnterprise - Mit HTML-5 zum Unternehmens-Dashboard für Tablets
 
Web Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at GoogleWeb Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at Google
 
The Mobile Question: Lessons in Design and Strategy for Your Mobile Experience
The Mobile Question: Lessons in Design and Strategy for Your Mobile ExperienceThe Mobile Question: Lessons in Design and Strategy for Your Mobile Experience
The Mobile Question: Lessons in Design and Strategy for Your Mobile Experience
 
Gnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and youGnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and you
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
 
Astricon 2019 Astricon Alan Quayle
Astricon 2019 Astricon Alan QuayleAstricon 2019 Astricon Alan Quayle
Astricon 2019 Astricon Alan Quayle
 
Mobile Web Design Code
Mobile Web Design CodeMobile Web Design Code
Mobile Web Design Code
 
Thanks to social media, consumers are even more powerful than advertisers
Thanks to social media, consumers are even more powerful than advertisersThanks to social media, consumers are even more powerful than advertisers
Thanks to social media, consumers are even more powerful than advertisers
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012
 
DDoS attacks, Booters, and DDoSDB
DDoS attacks, Booters, and DDoSDBDDoS attacks, Booters, and DDoSDB
DDoS attacks, Booters, and DDoSDB
 
Le futur du digital
Le futur du digitalLe futur du digital
Le futur du digital
 
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market SizingBy The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
By The Numbers: CPaaS, UCaaS, CCaaS Landscapes and Market Sizing
 
Building an Appier Web - May 2016
Building an Appier Web - May 2016Building an Appier Web - May 2016
Building an Appier Web - May 2016
 
Getting the Magic on Android Tablets
Getting the Magic on Android TabletsGetting the Magic on Android Tablets
Getting the Magic on Android Tablets
 
Don't Take Your Mobile Device To The Bathroom
Don't Take Your Mobile Device To The BathroomDon't Take Your Mobile Device To The Bathroom
Don't Take Your Mobile Device To The Bathroom
 
Platform agnostic information systems development
Platform agnostic information systems developmentPlatform agnostic information systems development
Platform agnostic information systems development
 
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5
 
Silverlight in Internet Scenarios
Silverlight in Internet ScenariosSilverlight in Internet Scenarios
Silverlight in Internet Scenarios
 
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
 
AWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup Economy
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

HTML5 vs. Native Applications

  • 1. HTML vs NATIVE APPLICATIONS
  • 2. Hello. Zach Leatherman Front End Engineer since Y2K - 1 Senior Project Engineer at Union Pacific Railroad 767,000+ page views 1,000+ RSS subscribers Published on: Lifehacker, DailyJS, JavaScript Weekly, Ajaxian Member of two winning Omaha Startup Weekend teams @zachleat http://zachleat.com
  • 3. All Source Code and Slides zachleat.com/mobile/uno/
  • 6. HOW TO DECIDE? •Market Share / Popularity •Learning Curve
  • 8. Market Share (%) Units Sold (Thousands) 21 12000 15.75 9000 10.5 6000 5.25 3000 0 0 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10
  • 9. * Market Share (%) Units Sold (Thousands) 60 30000 45 22500 30 15000 15 7500 0 0 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10 * Likely dissolving due to Windows Phone 7 Partnership
  • 10. * Market Share (%) Units Sold (Thousands) 11 5000 8.25 3750 5.5 2500 2.75 1250 0 0 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10 * Not included in Charts, but 2M devices sold to carriers as of end of 2010
  • 11. Market Share (%) Units Sold (Thousands) 18 14000 13.5 10500 9 7000 4.5 3500 0 0 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10
  • 12. Market Share (%) Units Sold (Thousands) 30 30000 22.5 22500 15 15000 7.5 7500 0 0 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10 1Q09 2Q09 3Q09 4Q09 1Q10 2Q10 3Q10
  • 13. CHANGE HAPPENS http://www.flickr.com/photos/bestrated1/3027598360/
  • 16. LANGUAGES C++ Objective C Java JavaScript Java XNA or Silverlight
  • 17. DEVELOPMENT REQUIREMENTS Cross Platform Requires MacOS X Requires Windows Requires Windows
  • 19. T HIS IS A SIGN TO OM ANY OO M ANY RES T P STO DE VI CES AP http://www.flickr.com/photos/oblongpictures/4516124048/
  • 20. I WANT MY APP TO WORK WITH MULTIPLE PLATFORMS
  • 21. ? (OKAY, MORE LIKE AN “EASIER BUTTON”)
  • 22. WHAT DO ALL THESE DEVICES HAVE IN COMMON? http://www.flickr.com/photos/paulwb/4248242126/
  • 26. HTML (Content) <!doctype html> <html> <head></head> <body> This is the content. It shows in the browser window. </body> </html>
  • 27. CSS (How it looks) body { background-color: #000; color: #fff; }
  • 28. JavaScript (How it behaves) document.body.addEventListener(‘click’, function() { alert(‘You clicked on the page.’); }, false);
  • 29. Combined <!doctype html> <html> <head> <style> body { background-color: #000; color: #fff; } </style> </head> <body> This is the content. It shows in the browser window. <script> document.body.addEventListener(‘click’, function() { alert(‘You clicked on the page.’); }, false); </script> </body> </html>
  • 31. Laundry Timer WASH DRY 45:00 START
  • 33. CSS Media Queries •Adaptable Layout for Different Screen Sizes <meta name="viewport" content="width=device-width, initial- scale=1.0"> <style> label { width: 50%; } @media all and (max-width: 399px) { label { min-device-width width: 100%; max-device-width } min-width } max-width orientation: landscape; </style> orientation: portrait; min-device-pixel-ratio (iPhone 4 Retina Display) http://stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries https://developer.mozilla.org/En/CSS/Media_queries
  • 34. HTML5 Audio •Plays a sound when finished <audio id="priceiswrong" preload="auto" autobuffer> <source src="price-is-right-fail.ogg" /> <source src="price-is-right-fail.mp3" /> </audio> document.getElementById('priceiswrong').play(); •Make sure the file is encoded correctly. •OGG, MP3, etc
  • 35. HTML5 LocalStorage •Reload the app, saves your timer // save Date as a string on start localStorage.setItem('laundryTimer', time.getTime()); // remove when the alarm plays localStorage.removeItem('laundryTimer'); // retrieve the saved time on page load (if exists) var savedTimer = localStorage.getItem('laundryTimer');
  • 36. HTML5 Offline •Access the app without internet <html manifest="cache.manifest"> .htaccess file AddType text/cache-manifest .manifest cache.manifest file CACHE MANIFEST price-is-right-fail.mp3 price-is-right-fail.ogg
  • 37. Possible Features •Return directions to Laundromat(Geolocation) •Video •Graphics •2D/3D Transforms •File Access •Web Fonts
  • 39. Native Options •Accelerometer •File System •Camera •Media (Record) •Compass •Network State •Contacts •Notifications
  • 42. It’s Easy to Start http://www.phonegap.com/start
  • 43. CAVEATS •Not all web browsers are created equal •Blackberry OS (watch out: pre v5) •IE Mobile (watch out: pre IE9, due 4Q2011) •Lowest Common Denominator Development •Not every device requires/can support the same experience
  • 44. RESOURCES •Can I Use? http://caniuse.com •Dive Into HTML5 http://diveintohtml5.org •HTML5 Rocks http://www.html5rocks.com/ •PhoneGap http://phonegap.com •Rethinking the Mobile Web rethinking-the-mobile-web-by-yiibu http://www.slideshare.net/bryanrieger/ •jQuery Mobile http://jquerymobile.com
  • 45. Thanks! Zach Leatherman @zachleat http://zachleat.com
  • 46. SOURCES • ADMOB has more Mobile Operating System Statistics: http://metrics.admob.com/wp- content/uploads/2010/06/May-2010-AdMob-Mobile-Metrics-Highlights.pdf • Great stats on different App Stores on Wikipedia: http://en.wikipedia.org/wiki/ List_of_digital_distribution_platforms_for_mobile_devices • ADMOB App Usage Survey: http://metrics.admob.com/wp-content/uploads/2010/03/ AdMob-Mobile-Metrics-Jan-10-Survey-Supplement.pdf • ADMOB Mobile Metrics Highlights May 2010: http://metrics.admob.com/wp-content/ uploads/2010/06/May-2010-AdMob-Mobile-Metrics-Highlights.pdf