SlideShare a Scribd company logo
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
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 #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
Blog http://blogs.msdn.com/dorischen
As of March 2012, IDC
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
PAGE 7   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
Internet Explorer


          TAB                   HTML host process


           App code

         Web platform                    App code

                                   Web         Windows
                                 platform      runtime


                         App container

PA
Blog http://blogs.msdn.com/dorischen
demo
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Blog http://blogs.msdn.com/dorischen
PAGE
PAGE 13   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
PAGE 14   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
/* Re-arrange and hide/show content */

                                                               /* */   Full screen          Portrait

                                                      /* …*/
                                             /* …*/




                                                                                     Snap
                                                                             Fill


PAGE 17
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
PAGE 21   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
PAGE 22   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
The development tools are FREE!
If you use a higher SKU, it just works!
demo
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Blog http://blogs.msdn.com/dorischen
PAGE
Blog http://blogs.msdn.com/dorischen
PAGE
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
demo
Blog http://blogs.msdn.com/dorischen
PAGE
"Code for touch, get mouse and pen for free!"
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
function onLoad() {
    ...
    var workSpaces = document.getElementsByClassName("workspace");
    for (i = 0; i < workSpaces.length; i++) {
        workSpaces[i].addEventListener("MSPointerDown", pointerDownHandler, false);
        workSpaces[i].addEventListener("MSPointerMove", pointerMoveHandler, false);
        workSpaces[i].addEventListener("MSPointerUp", pointerUpHandler, false);
        workSpaces[i].addEventListener("MSManipulationStateChanged",
            resetInteractions, false);
    }
    ...
}
this.MSPointerDown = function(evt)
{
    context.beginPath();
    context.moveTo(evt.offsetX, evt.offsetY);
    x = evt.offsetX;
    y = evt.offsetY;
    brush.started = true;
};

this.MSPointerUp = function(evt)
{
    if (brush.started)
    {
        brush.MSPointerMove(evt);
        context.closePath();
        brush.started = false;
    }
};
function onLoad() {
    ...
    var workSpaces = document.getElementsByClassName("workspace");
    for (i = 0; i < workSpaces.length; i++) {
        workSpaces[i].addEventListener("MSPointerDown", pointerDownHandler, false);
        workSpaces[i].addEventListener("MSPointerMove", pointerMoveHandler, false);
        workSpaces[i].addEventListener("MSPointerUp", pointerUpHandler, false);
        workSpaces[i].addEventListener("MSManipulationStateChanged",
            resetInteractions, false);
    }
    ...
}
demo
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
HTML5/JS developers
• Free open source cross platform framework for apps on mobile devices
• Renders UI using HTML5 and CSS; Web browser encased in a native app
  for each platform
• Build for Windows Phone and Port to Windows 8
HTML5/JS developers (Game)
GameMaker - family of products that caters to entry-level developers and seasoned game development
professionals to create cross platform games
HTML5/JS developers (Game): Construct 2 (Game)
Construct2 - cross platform game development for beginners
HTML5/JS developers (Game)
GameSalad – create cross platform games rapidly with no code
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
YOUR IDEA.                                                             Week 1 App design


YOUR APP .                                                             Week 2 Coding your app



30 DAYS.
                                                                       Week 3 Making your app shine
                                                                       Week 4 Get published



You can develop a Windows 8 app in 30 days—
and we’re here to help.
•   Insider tips and tricks on Windows 8 application development.
•   Personal on-the-phone access to a Windows 8 architect*.
•   An exclusive one-on-one Metro style design consultation*.
•   An opportunity to get expert help from a Microsoft Services Engineer at an App Excellence Lab.




    Sign Up             http://bit.ly/Win8GenApp
Join   http://bit.ly/FreeStoreReg
Publish your app to the Windows Store and/or Windows Phone Store between
December 20, 2012 through February 28, 2013 and qualify for the following rewards:
1. A store registration reimbursement* AND a copy of Halo 4 for Xbox 360!
2. A chance to win one of 12 Xbox 360 consoles with Kinect. The more apps you enter,
   the more chances you'll have to win.
3. The Grand Prize: Three devs with the best apps will win an ultimate backstage pass to
   Microsoft Studios and spend the day with the Windows 8 Games Studios team—makers
   of Windows 8, Windows Phone 8 and XBOX-enabled games!
http://bit.ly/HTML5Wins8Camp



 http://bit.ly/CampInBox




 Windows 8 Cheat Sheet
 http://bit.ly/wins8cheatsheet


 http:/dev.windows.com
 PAGE
• Responsive Web Design and CSS3
      • http://bit.ly/CSS3Intro
   • HTML5, CSS3 Free 1 Day Training
      • http://bit.ly/HTML5DevCampDownload
   • Using Blend to Design HTML5 Windows 8 Application (Part II): Style,
      Layout and Grid
      • http://bit.ly/HTML5onBlend2
   • Using Blend to Design HTML5 Windows 8 Application (Part III): Style
      Game Board, Cards, Support Different Device, View States
      • http://bit.ly/HTML5onBlend3
   • Feature-specific demos
       • http://ie.microsoft.com/testdrive/
   • Real-world demos
PAGE
       • http://www.beautyoftheweb.com/
http://blogs.msdn.com/b/dorischen/archive/2012/10/02/transform-your-html-css-javascript-apps-into-
windows-8-application.aspx


    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

More Related Content

PDF
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
PDF
Independent activity 10
ODP
DDive11 - Mobile Development For Domino
PDF
HTML 5 - Future of Web Browsing
PPT
English 11 Careers Projects
PPTX
Mobile Web vs. Native Apps
PPTX
Introduction to Windows 8
PDF
Portafolio Patricia Yaker
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
Independent activity 10
DDive11 - Mobile Development For Domino
HTML 5 - Future of Web Browsing
English 11 Careers Projects
Mobile Web vs. Native Apps
Introduction to Windows 8
Portafolio Patricia Yaker

Similar to Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3 (20)

PDF
What Web Developers Need to Know to Develop Windows 8 Apps
PDF
What Web Developers Need to Know to Develop Native HTML5/JS Apps
PDF
Wins8 appfoforweb fluent
PPTX
Responsive app design
PDF
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
PDF
Windows 8 app template feedback
PDF
Windows 8 product guide developer english
PDF
Use html5 to build what you want, where you want it
PDF
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
PDF
Game Republic - Yorkshire Building Awesome games for Windows
PPTX
Developing for Windows Phone 8 and Windows 8
PPTX
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
PDF
The Opportunity of Windows Norwich Indie Dev
PDF
Luis Martins
PDF
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
PPTX
Windows store app development V1
PPTX
Windows 8 Line of Business Applications
PDF
Every Web Developer is a Win8 developer
PPTX
Tech days faridabad
PDF
S#01 김영욱
What Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Native HTML5/JS Apps
Wins8 appfoforweb fluent
Responsive app design
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Windows 8 app template feedback
Windows 8 product guide developer english
Use html5 to build what you want, where you want it
Develop High Performance Windows 8 Application with HTML5 and JavaScriptHigh ...
Game Republic - Yorkshire Building Awesome games for Windows
Developing for Windows Phone 8 and Windows 8
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
The Opportunity of Windows Norwich Indie Dev
Luis Martins
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Windows store app development V1
Windows 8 Line of Business Applications
Every Web Developer is a Win8 developer
Tech days faridabad
S#01 김영욱
Ad

More from Doris Chen (20)

PDF
Practical tipsmakemobilefaster oscon2016
PDF
Building Web Sites that Work Everywhere
PDF
Angular mobile angular_u
PDF
Lastest Trends in Web Development
PDF
Angular or Backbone: Go Mobile!
PDF
OSCON Presentation: Developing High Performance Websites and Modern Apps with...
PDF
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
PDF
Developing High Performance Websites and Modern Apps with JavaScript and HTML5
PDF
Windows 8 Opportunity
PDF
Introduction to CSS3
PDF
Practical HTML5: Using It Today
PDF
Dive Into HTML5
PDF
Practical HTML5: Using It Today
PDF
HTML 5 Development for Windows Phone and Desktop
PDF
Dive into HTML5: SVG and Canvas
PDF
Performance Optimization and JavaScript Best Practices
PDF
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
PDF
Develop Netflix Movie Search App using jQuery, OData, JSONP and Netflix Techn...
PDF
Ajax Performance Tuning and Best Practices
PDF
Developing Revolutionary Web Applications using Comet and Ajax Push
Practical tipsmakemobilefaster oscon2016
Building Web Sites that Work Everywhere
Angular mobile angular_u
Lastest Trends in Web Development
Angular or Backbone: Go Mobile!
OSCON Presentation: Developing High Performance Websites and Modern Apps with...
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Developing High Performance Websites and Modern Apps with JavaScript and HTML5
Windows 8 Opportunity
Introduction to CSS3
Practical HTML5: Using It Today
Dive Into HTML5
Practical HTML5: Using It Today
HTML 5 Development for Windows Phone and Desktop
Dive into HTML5: SVG and Canvas
Performance Optimization and JavaScript Best Practices
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
Develop Netflix Movie Search App using jQuery, OData, JSONP and Netflix Techn...
Ajax Performance Tuning and Best Practices
Developing Revolutionary Web Applications using Comet and Ajax Push
Ad

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

  • 2. Who am I?  Developer Evangelist at Microsoft based in Silicon Valley, CA  Blog: http://blogs.msdn.com/b/dorischen/  Twitter @doristchen  Email: [email protected]  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 #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 4. As of March 2012, IDC
  • 6. PAGE 7 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 7. Internet Explorer TAB HTML host process App code Web platform App code Web Windows platform runtime App container PA
  • 12. PAGE 13 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 13. PAGE 14 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 15. /* Re-arrange and hide/show content */ /* */ Full screen Portrait /* …*/ /* …*/ Snap Fill PAGE 17
  • 17. PAGE 21 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 18. PAGE 22 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 20. The development tools are FREE! If you use a higher SKU, it just works!
  • 21. demo
  • 26. demo
  • 28. "Code for touch, get mouse and pen for free!"
  • 31. function onLoad() { ... var workSpaces = document.getElementsByClassName("workspace"); for (i = 0; i < workSpaces.length; i++) { workSpaces[i].addEventListener("MSPointerDown", pointerDownHandler, false); workSpaces[i].addEventListener("MSPointerMove", pointerMoveHandler, false); workSpaces[i].addEventListener("MSPointerUp", pointerUpHandler, false); workSpaces[i].addEventListener("MSManipulationStateChanged", resetInteractions, false); } ... }
  • 32. this.MSPointerDown = function(evt) { context.beginPath(); context.moveTo(evt.offsetX, evt.offsetY); x = evt.offsetX; y = evt.offsetY; brush.started = true; }; this.MSPointerUp = function(evt) { if (brush.started) { brush.MSPointerMove(evt); context.closePath(); brush.started = false; } };
  • 33. function onLoad() { ... var workSpaces = document.getElementsByClassName("workspace"); for (i = 0; i < workSpaces.length; i++) { workSpaces[i].addEventListener("MSPointerDown", pointerDownHandler, false); workSpaces[i].addEventListener("MSPointerMove", pointerMoveHandler, false); workSpaces[i].addEventListener("MSPointerUp", pointerUpHandler, false); workSpaces[i].addEventListener("MSManipulationStateChanged", resetInteractions, false); } ... }
  • 34. demo
  • 37. HTML5/JS developers • Free open source cross platform framework for apps on mobile devices • Renders UI using HTML5 and CSS; Web browser encased in a native app for each platform • Build for Windows Phone and Port to Windows 8
  • 38. HTML5/JS developers (Game) GameMaker - family of products that caters to entry-level developers and seasoned game development professionals to create cross platform games
  • 39. HTML5/JS developers (Game): Construct 2 (Game) Construct2 - cross platform game development for beginners
  • 40. HTML5/JS developers (Game) GameSalad – create cross platform games rapidly with no code
  • 43. YOUR IDEA. Week 1 App design YOUR APP . Week 2 Coding your app 30 DAYS. Week 3 Making your app shine Week 4 Get published You can develop a Windows 8 app in 30 days— and we’re here to help. • Insider tips and tricks on Windows 8 application development. • Personal on-the-phone access to a Windows 8 architect*. • An exclusive one-on-one Metro style design consultation*. • An opportunity to get expert help from a Microsoft Services Engineer at an App Excellence Lab. Sign Up http://bit.ly/Win8GenApp
  • 44. Join http://bit.ly/FreeStoreReg Publish your app to the Windows Store and/or Windows Phone Store between December 20, 2012 through February 28, 2013 and qualify for the following rewards: 1. A store registration reimbursement* AND a copy of Halo 4 for Xbox 360! 2. A chance to win one of 12 Xbox 360 consoles with Kinect. The more apps you enter, the more chances you'll have to win. 3. The Grand Prize: Three devs with the best apps will win an ultimate backstage pass to Microsoft Studios and spend the day with the Windows 8 Games Studios team—makers of Windows 8, Windows Phone 8 and XBOX-enabled games!
  • 45. http://bit.ly/HTML5Wins8Camp http://bit.ly/CampInBox  Windows 8 Cheat Sheet http://bit.ly/wins8cheatsheet  http:/dev.windows.com PAGE
  • 46. • Responsive Web Design and CSS3 • http://bit.ly/CSS3Intro • HTML5, CSS3 Free 1 Day Training • http://bit.ly/HTML5DevCampDownload • Using Blend to Design HTML5 Windows 8 Application (Part II): Style, Layout and Grid • http://bit.ly/HTML5onBlend2 • Using Blend to Design HTML5 Windows 8 Application (Part III): Style Game Board, Cards, Support Different Device, View States • http://bit.ly/HTML5onBlend3 • Feature-specific demos • http://ie.microsoft.com/testdrive/ • Real-world demos PAGE • http://www.beautyoftheweb.com/
  • 47. http://blogs.msdn.com/b/dorischen/archive/2012/10/02/transform-your-html-css-javascript-apps-into- windows-8-application.aspx 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