SlideShare uma empresa Scribd logo
1 de 72
Baixar para ler offline
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
             Office Hours http://ohours.org/dorischen
          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
http://bit.ly/win8cards
PAGE 8   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
Blog http://blogs.msdn.com/dorischen
demo
Blog http://blogs.msdn.com/dorischen
PAGE
PAGE 14   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
PAGE 15   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
/* Re-arrange and hide/show content */

                                                               /* */   Full screen          Portrait

                                                      /* …*/
                                             /* …*/




                                                                                     Snap
                                                                             Fill


PAGE 18
demo
PAGE 22   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
PAGE 23   twitter #wins8camp   http://bit.ly/wins8cheatsheet   Blog http://blogs.msdn.com/dorischen
The development tools are FREE!
If you use a higher SKU, it just works!
demo
Blog http://blogs.msdn.com/dorischen
PAGE
demo
Feature                             Local context        Web context
  Windows Runtime                     Yes                  No

  Windows Library for JavaScript      Yes                  Partial

  JavaScript
                                      No                   Yes
  URIs(attribute="javascript:code")

  Data URIs ("data:" ) for fonts      No                   Yes

  External script references
                                      No                   Yes
  (<script src="http://*" /> )

  window.close                        Yes                  No

  Cross-domain XHR requests           Yes                  No



There are ways to communicate across contexts, ways to give websites access to some web standards
features and ways to skip automatic filtering within a function.
http://blogs.msdn.com/b/dorischen/archive/2012/10/02/transform-your-html-
css-javascript-apps-into-windows-8-application.aspx



 http://github.com/appendto/jquery-win8

 http://channel9.msdn.com/Events/Build/2012/3-130


http://msdn.microsoft.com/en-
us/library/windows/apps/hh700404.aspx
PAGE 33   twitter #devcamp   lab setup: http://bit.ly/html5setup   Blog http://blogs.msdn.com/dorischen
xhr
//access a web service, cloud service, local resource
       http://www.example.org/somedata.json
Blog http://blogs.msdn.com/dorischen
PAGE
"Code for touch, get mouse and pen for free!"
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;
    }
};
demo
// Application manifest capabilities required to access camera
and microphone
<Capabilities>
    <DeviceCapability Name="webcam" />
    <DeviceCapability Name="microphone" />
</Capabilities>
id="message"
    id="imagedisplay"
       type="text/javascript">

// Step 1: Invoke the camera capture UI for snapping a photo
var captureUI = new Windows.Media.Capture.CameraCaptureUI();
captureUI.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo).
    then(function (capturedItem) {

        if (capturedItem) {
            // Step 2: Display the photo
            document.getElementById("imagedisplay").src =
URL.createObjectURL(capturedItem);
        } else {
            document.getElementById("message").innerHTML = "User didn’t capture a
photo";
        }

   });
id="message"
      id="videoplayback"
       type="text/javascript">


// Step 1: Invoke the camera capture UI for record a video
var dialog = new Windows.Media.Capture.CameraCaptureUI();
dialog.videoSettings.format =
Windows.Media.Capture.CameraCaptureUIVideoFormat.mp4;
dialog.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.video).done(fun
ction (file) {
    if (file) {
        var videoBlobUrl = URL.createObjectURL(file, {oneTimeOnly: true});
        document.getElementById("capturedVideo").src = videoBlobUrl;
    }
});
demo
document.getElementById("pin").addEventListener("click", function (e) {
               var uri = new Windows.Foundation.Uri("ms-appx:///" + item.tileImage);

               var tile = new start.SecondaryTile(
                   item.key,                                      //   Tile ID
                   item.shortTitle,                               //   Tile short name
                   item.title,                                    //   Tile display name
                   JSON.stringify(Data.getItemReference(item)),   //   Activation argument
                   start.TileOptions.showNameOnLogo,              //   Tile options
                   uri                                            //   Tile logo URI
               );
})




return nav.navigate("/pages/itemDetail/itemDetail.html", { item: JSON.parse(args.detail.arguments)
});
default.js:
// Register for push notifications
var profile = net.NetworkInformation.getInternetConnectionProfile();
if (profile.getNetworkConnectivityLevel() === net.NetworkConnectivityLevel.internetAccess)
{
push.PushNotificationChannelManager.createPushNotificationChannelForApplic
ationAsync().then(function (channel) {
                        var buffer =
wsc.CryptographicBuffer.convertStringToBinary(channel.uri, wsc.BinaryStringEncoding.utf8);
                    var uri = wsc.CryptographicBuffer.encodeToBase64String(buffer);


                    WinJS.xhr({ url:
"http://ContosoRecipes8.cloudapp.net?uri=" + uri + "&type=tile"
}).then(function (xhr) {
                        … }…
// Handle click events from the Reminder command
           document.getElementById("remind").addEventListener("click", function (e) {
               // Create a toast notifier
               var notifier = notify.ToastNotificationManager.createToastNotifier();

               // Make sure notifications are enabled
               if (notifier.setting != notify.NotificationSetting.enabled) {…}

                // Get a toast template and insert a text node containing a message
                var template =
notify.ToastNotificationManager.getTemplateContent(notify.ToastTemplateType.toastText01);
                var element =
template.getElementsByTagName("text")[0];element.appendChild(template.createTextNode("Reminder!"));

               // Schedule the toast to appear 10 seconds from now
               var date = new Date(new Date().getTime() + 10000);
               var stn = notify.ScheduledToastNotification(template, date);
               notifier.addToSchedule(stn); });
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): Construct 2 (Game)
Construct2 - cross platform game development for beginners
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)
GameSalad – create cross platform games rapidly with no code
 Publish your app to the Windows
  Store and/or Windows Phone Store
   http://bit.ly/2000Cash

  March 8, 2013 through June 30, 2013
 Submit up to 10 published apps per
  Store and get a $100 Virtual Visa®
 More: http://bit.ly/2000Cash
 Blog http://blogs.msdn.com/dorischen
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
http://bit.ly/HTML5Wins8Camp



 http://bit.ly/CampInBox


 http://bit.ly/Wins8Download



 http://Aka.ms/brockschmidtbook

    PAGE
 http:/dev.windows.com
• 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/

Mais conteúdo relacionado

Mais procurados

Introducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and serverIntroducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and server
Spike Brehm
 

Mais procurados (20)

The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
 
The 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityThe 5 Layers of Web Accessibility
The 5 Layers of Web Accessibility
 
Love at first Vue
Love at first VueLove at first Vue
Love at first Vue
 
An introduction to Vue.js
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.js
 
VueJS Introduction
VueJS IntroductionVueJS Introduction
VueJS Introduction
 
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
 
Enjoy the vue.js
Enjoy the vue.jsEnjoy the vue.js
Enjoy the vue.js
 
WebGL: GPU acceleration for the open web
WebGL: GPU acceleration for the open webWebGL: GPU acceleration for the open web
WebGL: GPU acceleration for the open web
 
An Introduction to Vuejs
An Introduction to VuejsAn Introduction to Vuejs
An Introduction to Vuejs
 
Room with a Vue - Introduction to Vue.js
Room with a Vue - Introduction to Vue.jsRoom with a Vue - Introduction to Vue.js
Room with a Vue - Introduction to Vue.js
 
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
 
Scalable Front-end Development with Vue.JS
Scalable Front-end Development with Vue.JSScalable Front-end Development with Vue.JS
Scalable Front-end Development with Vue.JS
 
Introducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and serverIntroducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and server
 
Vuex
VuexVuex
Vuex
 
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
 
Passo a Passo para criar uma aplicação Móvel Híbrida
Passo a Passo para criar uma aplicação Móvel HíbridaPasso a Passo para criar uma aplicação Móvel Híbrida
Passo a Passo para criar uma aplicação Móvel Híbrida
 
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
 
Android best practices
Android best practicesAndroid best practices
Android best practices
 
Story about module management with angular.js
Story about module management with angular.jsStory about module management with angular.js
Story about module management with angular.js
 
Making your Angular.js Application accessible
Making your Angular.js Application accessibleMaking your Angular.js Application accessible
Making your Angular.js Application accessible
 

Destaque

Creating the interfaces of the future with the APIs of today
Creating the interfaces of the future with the APIs of todayCreating the interfaces of the future with the APIs of today
Creating the interfaces of the future with the APIs of today
gerbille
 
Windows 8 vs windows 7 ppt
Windows 8 vs windows 7 pptWindows 8 vs windows 7 ppt
Windows 8 vs windows 7 ppt
Diya Mirza
 

Destaque (13)

2013 04-02-server-side-backbone
2013 04-02-server-side-backbone2013 04-02-server-side-backbone
2013 04-02-server-side-backbone
 
Creating the interfaces of the future with the APIs of today
Creating the interfaces of the future with the APIs of todayCreating the interfaces of the future with the APIs of today
Creating the interfaces of the future with the APIs of today
 
Las apps
Las appsLas apps
Las apps
 
Curso historia y turismo valparaíso chile
Curso historia y turismo valparaíso chileCurso historia y turismo valparaíso chile
Curso historia y turismo valparaíso chile
 
Win10
Win10Win10
Win10
 
Curso de reparacion de celulares
Curso de reparacion de celularesCurso de reparacion de celulares
Curso de reparacion de celulares
 
Famo.us - HTML5 Dev Conference Tech Talk
Famo.us - HTML5 Dev Conference Tech TalkFamo.us - HTML5 Dev Conference Tech Talk
Famo.us - HTML5 Dev Conference Tech Talk
 
Windows 8 vs windows 7 ppt
Windows 8 vs windows 7 pptWindows 8 vs windows 7 ppt
Windows 8 vs windows 7 ppt
 
Windows 10
Windows 10Windows 10
Windows 10
 
Sistemas operativos-Windows 10
Sistemas operativos-Windows 10Sistemas operativos-Windows 10
Sistemas operativos-Windows 10
 
Windows 10
Windows 10Windows 10
Windows 10
 
Introducción a Windows 10
Introducción a Windows 10Introducción a Windows 10
Introducción a Windows 10
 
Windows 10
Windows 10Windows 10
Windows 10
 

Semelhante a What Web Developers Need to Know to Develop Windows 8 Apps

Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Frédéric Harper
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
Patrick Lauke
 
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
Patrick Lauke
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mohammad Shaker
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
Robert Nyman
 
Reusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store appsReusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store apps
Timmy Kokke
 
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Patrick Lauke
 
Speak the Web 15.02.2010
Speak the Web 15.02.2010Speak the Web 15.02.2010
Speak the Web 15.02.2010
Patrick Lauke
 

Semelhante a What Web Developers Need to Know to Develop Windows 8 Apps (20)

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
 
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
 
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
 
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
 
20150812 4시간만에 따라해보는 windows 10 앱 개발
20150812  4시간만에 따라해보는 windows 10 앱 개발20150812  4시간만에 따라해보는 windows 10 앱 개발
20150812 4시간만에 따라해보는 windows 10 앱 개발
 
Windows8 metro presentationupdated
Windows8 metro presentationupdatedWindows8 metro presentationupdated
Windows8 metro presentationupdated
 
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
DODN2009 - Jump Start Silverlight
DODN2009 - Jump Start SilverlightDODN2009 - Jump Start Silverlight
DODN2009 - Jump Start Silverlight
 
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
 
20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhone
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
Reusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store appsReusing JavaScript knowledge in Windows Store apps
Reusing JavaScript knowledge in Windows Store apps
 
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
Mozilla Web Apps - Super-VanJS
Mozilla Web Apps - Super-VanJSMozilla Web Apps - Super-VanJS
Mozilla Web Apps - Super-VanJS
 
Speak the Web 15.02.2010
Speak the Web 15.02.2010Speak the Web 15.02.2010
Speak the Web 15.02.2010
 

Mais de 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
 

Mais de 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)
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
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
 

Último (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
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
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

What Web Developers Need to Know to Develop Windows 8 Apps

  • 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  Office Hours http://ohours.org/dorischen  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.
  • 7. PAGE 8 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 8.
  • 10. demo
  • 11.
  • 13. PAGE 14 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 14. PAGE 15 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 15.
  • 16. /* Re-arrange and hide/show content */ /* */ Full screen Portrait /* …*/ /* …*/ Snap Fill PAGE 18
  • 17. demo
  • 18.
  • 19. PAGE 22 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 20. PAGE 23 twitter #wins8camp http://bit.ly/wins8cheatsheet Blog http://blogs.msdn.com/dorischen
  • 21.
  • 22. The development tools are FREE! If you use a higher SKU, it just works!
  • 23. demo
  • 24.
  • 26. demo
  • 27. Feature Local context Web context Windows Runtime Yes No Windows Library for JavaScript Yes Partial JavaScript No Yes URIs(attribute="javascript:code") Data URIs ("data:" ) for fonts No Yes External script references No Yes (<script src="http://*" /> ) window.close Yes No Cross-domain XHR requests Yes No There are ways to communicate across contexts, ways to give websites access to some web standards features and ways to skip automatic filtering within a function.
  • 29. PAGE 33 twitter #devcamp lab setup: http://bit.ly/html5setup Blog http://blogs.msdn.com/dorischen
  • 30. xhr //access a web service, cloud service, local resource http://www.example.org/somedata.json
  • 32.
  • 33.
  • 34.
  • 35. "Code for touch, get mouse and pen for free!"
  • 36.
  • 37. 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); } ... }
  • 38. 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; } };
  • 39.
  • 40.
  • 41. demo
  • 42. // Application manifest capabilities required to access camera and microphone <Capabilities> <DeviceCapability Name="webcam" /> <DeviceCapability Name="microphone" /> </Capabilities>
  • 43. id="message" id="imagedisplay" type="text/javascript"> // Step 1: Invoke the camera capture UI for snapping a photo var captureUI = new Windows.Media.Capture.CameraCaptureUI(); captureUI.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo). then(function (capturedItem) { if (capturedItem) { // Step 2: Display the photo document.getElementById("imagedisplay").src = URL.createObjectURL(capturedItem); } else { document.getElementById("message").innerHTML = "User didn’t capture a photo"; } });
  • 44. id="message" id="videoplayback" type="text/javascript"> // Step 1: Invoke the camera capture UI for record a video var dialog = new Windows.Media.Capture.CameraCaptureUI(); dialog.videoSettings.format = Windows.Media.Capture.CameraCaptureUIVideoFormat.mp4; dialog.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.video).done(fun ction (file) { if (file) { var videoBlobUrl = URL.createObjectURL(file, {oneTimeOnly: true}); document.getElementById("capturedVideo").src = videoBlobUrl; } });
  • 45.
  • 46.
  • 47.
  • 48. demo
  • 49. document.getElementById("pin").addEventListener("click", function (e) { var uri = new Windows.Foundation.Uri("ms-appx:///" + item.tileImage); var tile = new start.SecondaryTile( item.key, // Tile ID item.shortTitle, // Tile short name item.title, // Tile display name JSON.stringify(Data.getItemReference(item)), // Activation argument start.TileOptions.showNameOnLogo, // Tile options uri // Tile logo URI ); }) return nav.navigate("/pages/itemDetail/itemDetail.html", { item: JSON.parse(args.detail.arguments) });
  • 50.
  • 51.
  • 52. default.js: // Register for push notifications var profile = net.NetworkInformation.getInternetConnectionProfile(); if (profile.getNetworkConnectivityLevel() === net.NetworkConnectivityLevel.internetAccess) { push.PushNotificationChannelManager.createPushNotificationChannelForApplic ationAsync().then(function (channel) { var buffer = wsc.CryptographicBuffer.convertStringToBinary(channel.uri, wsc.BinaryStringEncoding.utf8); var uri = wsc.CryptographicBuffer.encodeToBase64String(buffer); WinJS.xhr({ url: "http://ContosoRecipes8.cloudapp.net?uri=" + uri + "&type=tile" }).then(function (xhr) { … }…
  • 53.
  • 54.
  • 55.
  • 56. // Handle click events from the Reminder command document.getElementById("remind").addEventListener("click", function (e) { // Create a toast notifier var notifier = notify.ToastNotificationManager.createToastNotifier(); // Make sure notifications are enabled if (notifier.setting != notify.NotificationSetting.enabled) {…} // Get a toast template and insert a text node containing a message var template = notify.ToastNotificationManager.getTemplateContent(notify.ToastTemplateType.toastText01); var element = template.getElementsByTagName("text")[0];element.appendChild(template.createTextNode("Reminder!")); // Schedule the toast to appear 10 seconds from now var date = new Date(new Date().getTime() + 10000); var stn = notify.ScheduledToastNotification(template, date); notifier.addToSchedule(stn); });
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. 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
  • 64. HTML5/JS developers (Game): Construct 2 (Game) Construct2 - cross platform game development for beginners
  • 65. HTML5/JS developers (Game) GameMaker - family of products that caters to entry-level developers and seasoned game development professionals to create cross platform games
  • 66. HTML5/JS developers (Game) GameSalad – create cross platform games rapidly with no code
  • 67.
  • 68.
  • 69.  Publish your app to the Windows Store and/or Windows Phone Store http://bit.ly/2000Cash March 8, 2013 through June 30, 2013  Submit up to 10 published apps per Store and get a $100 Virtual Visa®  More: http://bit.ly/2000Cash Blog http://blogs.msdn.com/dorischen
  • 70. 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
  • 71. http://bit.ly/HTML5Wins8Camp http://bit.ly/CampInBox http://bit.ly/Wins8Download http://Aka.ms/brockschmidtbook PAGE  http:/dev.windows.com
  • 72. • 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/