SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
Who am I?
          Developer Evangelist at Microsoft based in Silicon Valley, CA
             Blog: http://blogs.msdn.com/b/dorischen/
             Twitter @doristchen
             Email: doris.chen@microsoft.com
          Has over 15 years of experience in the software industry focusing on web
           technologies
          Spoke and published widely at JavaOne, O'Reilly, Silicon Valley Code Camp,
           SD West, SD Forum and worldwide User Groups meetings
          Doris received her Ph.D. from the University of California at Los Angeles
           (UCLA)



PAGE 2      twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
As of March 2012, IDC
PAGE 9   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
PAGE 10   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
Internet Explorer


                                            TAB                                                             HTML host process


                                               App code

                                         Web platform                                                                App code

                                                                                                               Web         Windows
                                                                                                             platform      runtime


                                                                                                     App container
PAGE 12   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
demo
Internet Explorer
                    Internet Explorer
 for the desktop
PAGE 17   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
PAGE 18   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
/* Re-arrange and hide/show content */
                                                                                                          Full screen          Portrait




                                                                                                                        Snap
                                                                                                                Fill


PAGE 21   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
1,1              2,1



                                                                               1,2              2,2


twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
demo
PAGE 26   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
demo
The development tools are FREE!
If you use a higher SKU, it just works!
PAGE 33   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
PAGE 34   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
PAGE 36   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
PAGE 38   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
PAGE 39   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
http://msdn.microsoft.com/en-us/library/windows/apps/hh700404.aspx




 http://msdn.microsoft.com/en-us/library/windows/apps/hh465380.aspx




http://msdn.microsoft.com/en-us/library/windows/apps/hh465373.aspx


  twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
Feature                   Local context             Web context
      Windows Run-time          Yes                       No
      Windows Library for       Yes                       Yes*
      Javascript

      External script           No                        Yes
      references
      Cross-domain XHR          Yes                       No
      requests

      Automatic filtering for   Yes                       No
      script injection on
      DOM


There are ways to communicate across contexts, ways to give websites access to some web standards
features and ways #devcamp automatic filtering within a function. http://blogs.msdn.com/dorischen
              twitter to skip   lab setup: http://bit.ly/html5setup Blog
demo
"Code for touch, get mouse and pen for free!"
API surface   CSS Properties            DOM Attributes     DOM Events
              overflow
              -ms-scroll-rails
              -ms-scroll-snap-x         scrollLeft
Scrolling                                                  scroll
              -ms-scroll-snap-y         scrollTop
              -ms-scroll-chaining
              -ms-scroll-boundary
              -ms-content-zooming
              -ms-content-zoom-
Zooming                                 msContentZoomFactor MSContentZoom
              boundary
              -ms-content-zoom-snap

Both                                                       MSManipulationStateChanged

              -ms-scroll-snap-type
Snap-points
              -ms-scroll-snap-point-x
<div id="smallListIconTextTemplate" data-win-control="WinJS.Binding.Template"
style="display: none">
    <div class="smallListIconTextItem">
        <img src="#" class="smallListIconTextItem-Image" data-win-bind="src: picture" />
         <div class="smallListIconTextItem-Detail"> </div>
     </div>
</div>

<!-- Call WinJS.UI.processAll() in your initialization code -->
<div id="listView" data-win-control="WinJS.UI.ListView"
       data-win-options="{
                itemDataSource: myData.dataSource,
                itemTemplate: smallListIconTextTemplate,
                selectionMode: 'none',
                tapBehavior: 'none',
                swipeBehavior: 'none',
                layout: { type: WinJS.UI.GridLayout }
         }"
></div>
<!– Step1: declare control -->
<div id=“list” data-win-control="WinJS.UI.ListView"
data-win-options="{ selectionMode: 'none' }"></div>

/* Step 2: Call WinJS.UI.processAll() */


/* Step 3: Use the control */
document.getElementById(‘list’).winControl.addEvent
Listener (‘selectionchanged’, onSelChanged );
DatePicker                                    SettingsFlyout
Listview
                                            SemanticZoom




     Semantic Zoom

                              Flipview
   Menu                                                                                  Flyout

                                                                                                                                        Rating


 Appbar


                        twitter #devcamp           lab setup: http://bit.ly/html5setup          Blog http://blogs.msdn.com/dorischen
Slide does not include all WinJS controls (Tooltip, ViewBox, ToggleSwitch, HTMLControl, etc.)
<div id="appbar" data-win-control="WinJS.UI.AppBar">
   <button data-win-control="WinJS.UI.AppBarCommand" data-win-
options="{id:'brag', label:'Brag', icon:'emoji2',
section:'selection', type:'flyout',
flyout:'bragFlyout'}"></button>
 </div>
 <div id="bragFlyout" data-win-control="WinJS.UI.Menu">
   <button data-win-control="WinJS.UI.MenuCommand" data-win-
options="{id:'photo', label:'Photo'}"></button>
   <button data-win-control="WinJS.UI.MenuCommand" data-win-
options="{id:'video', label:'Video' }"></button>
 </div>
Windows.Media.Capture
// Handle click events from the Photo command


                    capture.CameraCaptureUI()

   // Capture a photo and display the share UI
Contracts
demo
 Windows 8 Cheat Sheet
  http://bit.ly/wins8cheatsheet




  http://bit.ly/Win8GenApp




 http:/dev.windows.com
PAGE 80   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
Launch your Windows 8 App in 30 days

 Generation App
     Online training and tips from insiders
     Tele-support with a Windows 8 architect
     Exclusive one-on-one Metro style design consultation
     Virtual Labs- 90 min labs http://aka.ms/vLabsWin8
     Sign up at http://bit.ly/Win8GenApp
http://ie.microsoft.com/testdrive/Views/SiteMap/

   http://www.ietestdrive.com/Links/DevGuide9.html

 http://www.ietestdrive.com/Links/DevGuide10.html


  http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-
input-for-ie10-and-metro-style-apps.aspx
PAGE 82   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (12)

Eloquent ORM
Eloquent ORMEloquent ORM
Eloquent ORM
 
Vue.js is boring - and that's a good thing
Vue.js is boring - and that's a good thingVue.js is boring - and that's a good thing
Vue.js is boring - and that's a good thing
 
Eloquent ORM
Eloquent ORMEloquent ORM
Eloquent ORM
 
Vue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsVue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.js
 
12 Most Profound Quotes from Facebooks CEO Mark Zuckerberg
12 Most Profound Quotes from Facebooks CEO Mark Zuckerberg12 Most Profound Quotes from Facebooks CEO Mark Zuckerberg
12 Most Profound Quotes from Facebooks CEO Mark Zuckerberg
 
Laravel Eloquent ORM
Laravel Eloquent ORMLaravel Eloquent ORM
Laravel Eloquent ORM
 
Web 2.0 Business Models
Web 2.0 Business ModelsWeb 2.0 Business Models
Web 2.0 Business Models
 
Steve Jobs Inspirational Quotes
Steve Jobs Inspirational QuotesSteve Jobs Inspirational Quotes
Steve Jobs Inspirational Quotes
 
Creative Web 2.0 Learning
Creative Web 2.0 LearningCreative Web 2.0 Learning
Creative Web 2.0 Learning
 
How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0How to Build SPA with Vue Router 2.0
How to Build SPA with Vue Router 2.0
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Ähnlich wie Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3

Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)
Michael Dobe, Ph.D.
 
Web app and more
Web app and moreWeb app and more
Web app and more
faming su
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
Mihail Mateev
 

Ähnlich wie Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3 (20)

Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)
 
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
 
Toronto User groups workshop - 2013-03-10 - HTML5 & Windows 8, friends with b...
Toronto User groups workshop - 2013-03-10 - HTML5 & Windows 8, friends with b...Toronto User groups workshop - 2013-03-10 - HTML5 & Windows 8, friends with b...
Toronto User groups workshop - 2013-03-10 - HTML5 & Windows 8, friends with b...
 
Web Systems Architecture by Moshe Kaplan
Web Systems Architecture by Moshe KaplanWeb Systems Architecture by Moshe Kaplan
Web Systems Architecture by Moshe Kaplan
 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
 
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
Una web todos los dispositivos.
Una web todos los dispositivos.Una web todos los dispositivos.
Una web todos los dispositivos.
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Adobe & HTML5
Adobe & HTML5Adobe & HTML5
Adobe & HTML5
 
JavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern ImplementationJavaScript and DOM Pattern Implementation
JavaScript and DOM Pattern Implementation
 
Beyond The MVC
Beyond The MVCBeyond The MVC
Beyond The MVC
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web Skills
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
 
JavaScript on the Desktop
JavaScript on the DesktopJavaScript on the Desktop
JavaScript on the Desktop
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 

Mehr von Doris Chen

Wins8 appfoforweb fluent
Wins8 appfoforweb fluentWins8 appfoforweb fluent
Wins8 appfoforweb fluent
Doris Chen
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
Doris Chen
 

Mehr von Doris Chen (20)

Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016
 
Building Web Sites that Work Everywhere
Building Web Sites that Work EverywhereBuilding Web Sites that Work Everywhere
Building Web Sites that Work Everywhere
 
Angular mobile angular_u
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_u
 
Lastest Trends in Web Development
Lastest Trends in Web DevelopmentLastest Trends in Web Development
Lastest Trends in Web Development
 
Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!
 
OSCON Presentation: Developing High Performance Websites and Modern Apps with...
OSCON Presentation: Developing High Performance Websites and Modern Apps with...OSCON Presentation: Developing High Performance Websites and Modern Apps with...
OSCON Presentation: Developing High Performance Websites and Modern Apps with...
 
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps FasterPractical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
 
Developing High Performance Websites and Modern Apps with JavaScript and HTML5
Developing High Performance Websites and Modern Apps with JavaScript and HTML5Developing High Performance Websites and Modern Apps with JavaScript and HTML5
Developing High Performance Websites and Modern Apps with JavaScript and HTML5
 
What Web Developers Need to Know to Develop Native HTML5/JS Apps
What Web Developers Need to Know to Develop Native HTML5/JS AppsWhat Web Developers Need to Know to Develop Native HTML5/JS Apps
What Web Developers Need to Know to Develop Native HTML5/JS Apps
 
Windows 8 Opportunity
Windows 8 OpportunityWindows 8 Opportunity
Windows 8 Opportunity
 
Wins8 appfoforweb fluent
Wins8 appfoforweb fluentWins8 appfoforweb fluent
Wins8 appfoforweb fluent
 
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
 
Practical HTML5: Using It Today
Practical HTML5: Using It TodayPractical HTML5: Using It Today
Practical HTML5: Using It Today
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
 
Practical HTML5: Using It Today
Practical HTML5: Using It TodayPractical HTML5: Using It Today
Practical HTML5: Using It Today
 
HTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and DesktopHTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and Desktop
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
Performance Optimization and JavaScript Best Practices
Performance Optimization and JavaScript Best PracticesPerformance Optimization and JavaScript Best Practices
Performance Optimization and JavaScript Best Practices
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3

  • 1.
  • 2. Who am I?  Developer Evangelist at Microsoft based in Silicon Valley, CA  Blog: http://blogs.msdn.com/b/dorischen/  Twitter @doristchen  Email: doris.chen@microsoft.com  Has over 15 years of experience in the software industry focusing on web technologies  Spoke and published widely at JavaOne, O'Reilly, Silicon Valley Code Camp, SD West, SD Forum and worldwide User Groups meetings  Doris received her Ph.D. from the University of California at Los Angeles (UCLA) PAGE 2 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 3.
  • 4.
  • 5. As of March 2012, IDC
  • 6.
  • 7.
  • 8. PAGE 9 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 9. PAGE 10 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 10. Internet Explorer TAB HTML host process App code Web platform App code Web Windows platform runtime App container PAGE 12 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 11. demo
  • 12.
  • 13. Internet Explorer Internet Explorer for the desktop
  • 14. PAGE 17 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 15. PAGE 18 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 16.
  • 17.
  • 18. /* Re-arrange and hide/show content */ Full screen Portrait Snap Fill PAGE 21 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 19.
  • 20.
  • 21. 1,1 2,1 1,2 2,2 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 22. demo
  • 23. PAGE 26 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 24. demo
  • 25.
  • 26. The development tools are FREE! If you use a higher SKU, it just works!
  • 27.
  • 28. PAGE 33 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 29. PAGE 34 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 30.
  • 31. PAGE 36 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 32. PAGE 38 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 33. PAGE 39 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 35. Feature Local context Web context Windows Run-time Yes No Windows Library for Yes Yes* Javascript External script No Yes references Cross-domain XHR Yes No requests Automatic filtering for Yes No script injection on DOM There are ways to communicate across contexts, ways to give websites access to some web standards features and ways #devcamp automatic filtering within a function. http://blogs.msdn.com/dorischen twitter to skip lab setup: http://bit.ly/html5setup Blog
  • 36. demo
  • 37.
  • 38.
  • 39. "Code for touch, get mouse and pen for free!"
  • 40. API surface CSS Properties DOM Attributes DOM Events overflow -ms-scroll-rails -ms-scroll-snap-x scrollLeft Scrolling scroll -ms-scroll-snap-y scrollTop -ms-scroll-chaining -ms-scroll-boundary -ms-content-zooming -ms-content-zoom- Zooming msContentZoomFactor MSContentZoom boundary -ms-content-zoom-snap Both MSManipulationStateChanged -ms-scroll-snap-type Snap-points -ms-scroll-snap-point-x
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. <div id="smallListIconTextTemplate" data-win-control="WinJS.Binding.Template" style="display: none"> <div class="smallListIconTextItem"> <img src="#" class="smallListIconTextItem-Image" data-win-bind="src: picture" /> <div class="smallListIconTextItem-Detail"> </div> </div> </div> <!-- Call WinJS.UI.processAll() in your initialization code --> <div id="listView" data-win-control="WinJS.UI.ListView" data-win-options="{ itemDataSource: myData.dataSource, itemTemplate: smallListIconTextTemplate, selectionMode: 'none', tapBehavior: 'none', swipeBehavior: 'none', layout: { type: WinJS.UI.GridLayout } }" ></div>
  • 49. <!– Step1: declare control --> <div id=“list” data-win-control="WinJS.UI.ListView" data-win-options="{ selectionMode: 'none' }"></div> /* Step 2: Call WinJS.UI.processAll() */ /* Step 3: Use the control */ document.getElementById(‘list’).winControl.addEvent Listener (‘selectionchanged’, onSelChanged );
  • 50. DatePicker SettingsFlyout Listview SemanticZoom Semantic Zoom Flipview Menu Flyout Rating Appbar twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen Slide does not include all WinJS controls (Tooltip, ViewBox, ToggleSwitch, HTMLControl, etc.)
  • 51. <div id="appbar" data-win-control="WinJS.UI.AppBar"> <button data-win-control="WinJS.UI.AppBarCommand" data-win- options="{id:'brag', label:'Brag', icon:'emoji2', section:'selection', type:'flyout', flyout:'bragFlyout'}"></button> </div> <div id="bragFlyout" data-win-control="WinJS.UI.Menu"> <button data-win-control="WinJS.UI.MenuCommand" data-win- options="{id:'photo', label:'Photo'}"></button> <button data-win-control="WinJS.UI.MenuCommand" data-win- options="{id:'video', label:'Video' }"></button> </div>
  • 53.
  • 54. // Handle click events from the Photo command capture.CameraCaptureUI() // Capture a photo and display the share UI
  • 55.
  • 57.
  • 58.
  • 59.
  • 60. demo
  • 61.
  • 62.
  • 63.
  • 64.  Windows 8 Cheat Sheet http://bit.ly/wins8cheatsheet http://bit.ly/Win8GenApp  http:/dev.windows.com PAGE 80 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 65. Launch your Windows 8 App in 30 days  Generation App  Online training and tips from insiders  Tele-support with a Windows 8 architect  Exclusive one-on-one Metro style design consultation  Virtual Labs- 90 min labs http://aka.ms/vLabsWin8  Sign up at http://bit.ly/Win8GenApp
  • 66. http://ie.microsoft.com/testdrive/Views/SiteMap/ http://www.ietestdrive.com/Links/DevGuide9.html  http://www.ietestdrive.com/Links/DevGuide10.html http://blogs.msdn.com/b/ie/archive/2011/09/20/touch- input-for-ie10-and-metro-style-apps.aspx PAGE 82 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen