SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Dernier

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Dernier (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
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?
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

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