SlideShare una empresa de Scribd logo
1 de 72
Descargar para leer sin conexión
AGENDA
I’m a Web developer, I don’t know (at
all) Microsoft technologies.

                  I already developed
                 an HTML5 web page.

                    I want to create the
                          Windows 8
                             app
                         of my page.
My existing web page: home.dollon.net
Compatible with all last browsers on PC and
tablets.
Works with HTML5 and CSS3 features,
knockout.js, jQuery, less (and node.js web service)
DEMO
So now, please Microsoft, where is the right
button click
“Transform this website as a metro style app for Windows8”?
It does not exist. And it’s   normal.
Because you are working for a specific kind of tablet
with native call (new API, new controls…) and NEW
design style (metro).

You are not designing a web page. You are developing a
native app.
9 things to migrate your HTML5 app on
       Windows 8 environment.
0 – which kind of tools I need?*
         *this point is not included on the counter ☺
DEMO
1 - what is a package?
a package is a ZIP file            Don’t forget to obfuscate your code

                   It’s the ‘executable’ of your project

  It contains everything (HTML, JS, Manifest..)

After installation, the app is located here c:Program FilesWindowsApps
You can use PowerShell
               to deploy it
 And all packages are signed with certificates
2 – what happens in runtime?
The process that hosts/executes a Metro style app
using JavaScript is called WWAHost.exe

 Your app ‘live’ inside a sandbox without all privileges
                                     of the current user
Process state transitions

    A user
               App is
  launch an                   Suspended      Terminated
              running
     app




An app gets 5 secondes to handle suspend and is
notified when it has been resumed
App is not notified before a termination caused by
low resources
3 – Differences between Metro style app
  And traditional HTML5 web page
ALL*
HTML5/CSS3 features are supported
     *if IE10 “trident” layout engine support it
ALL*
JavaScript features are supported
     *if IE10 “Chakra” engine support it
Native APIs
  DOM Events
                                   Namespaces
            Controls          Enumerations
   No Java, Silverlight, Flash and other embedded components

Some ActiveX controls are disabled
So, HTML5, CSS3 and JavaScript

have the same support of web APIs
                                 than IE 10
                    +
         API from WinRT
And you have to know that


seriously
ROCKS!
This isn’t just a container
       like PhoneGap

        It doesn’t run in a browser
REUSE THE SAME CODE
            Just to see if it works ☺
4 – what is WinRT?
Windows RT != WinRT
 (Windows RT is the Windows 8 version for ARM)
WinRT
         Resides directly on the top of the kernel
                           just like the Win32 API

WinRT APIs are written in unmanaged C++
and designed to be object-oriented
5 – what is WinJS?
WinJS is the orange layer
A language projection exists for .NET and C++ too
Windows library for JS
   Helpers
                           Animations
      Templates         Styles
 App Model    Data Binding

                              Controls
         Navigation
Binding.js        Wwaap.js
Ui.js
               Base.js
 Controls.js
                Animation.js
6 – Windows Controls
Built-in Controls
Metro-UI Styles
                          Touch enabled
          Native     Customizable
All basic controls
                              Controls
          Same in XAML
AppBar
Useful to bring up commands
on demand

Don’t forget to use Charms
for some entry points
MODIFY THE APP
            With Windows 8 controls
7 – Multiple Views and
     Resolutions
The principal screen can be at minimum
1024x768

It exists widescreen (1366x768+)

Two other modes: snapview and portait
Use three kind of image size (100%,
140% and 180%).

Depending on the resolutions, images
are loaded automatically

Image.jpg     Image.scale-180.jpg
Use of CSS media queries
MODIFY THE APP
            Screens
7 – Use Contracts
Share to export the current content

Search to find content

File Picker to allow user to access content from
outside

Settings to configure the app
MODIFY THE APP
            Contracts
8 – Use Tiles
Tiles is the “link” to open your app
It could be a “secondary tiles”
Can provide a lot of information (icons,
notifications, counter)
MODIFY THE APP
            With Tiles and Splash
9 – Debugging and Performances
Performance
Tips & tricks that still work:
For safe dynamic content, use innerHTML
Link CSS stylesheets at the top of the page
Avoid inline JavaScript and inline CSS styles
Don’t parse JSON by hand, use JSON.parse
A Metro style app using HTML5
  is more than a web page …
Optimize your landing page
Rely on packaged content and local data
Use local images scaled to the right size
Use WinJS fragments to load parts of your app on demand
   Defer parsing of unneeded HTML content
   Delays JavaScript
   Keeps your DOM small: look-up and manipulations are
  quicker
Further optimizations
Defer some initialization to after the splash screen
    Start network downloads after initialization
    Delay loading databases
Consolidate small JS files that are related into larger files
If you need more time, use an extended splash screen
Manage your resources
Keep a lightweight DOM
Release expensive content, such as media elements, as soon
as they are no longer needed
Help the garbage collector
     Avoid circular references between your elements and
    JavaScript code
     Review how you use your Object URLs
On suspend, free resources that are easy to recreate
 Use media content from the user at the screen resolution
 Tune your app launch time to create great first
impressions
 Keep your app alive by minimizing your memory footprint
 Be responsive, don’t block the UI thread
Debugging JavaScript apps is
      !@#$%^ hard!
Debugging with Visual Studio
Launch with debugging
debugger keyword
Debug.enableFirstChanceException(true);
JavaScript console
DOM explorer
Debugging with Blend
Understand your CSS with the Winning Rule and Show Set
Properties mode
Debug device-state issues with the Platform and Styles
Panes
Catch grid layout issues
Find parser-generated elements with the Live DOM
Diagnose post-interaction problems with Interactive Mode
10 – Deployment
 But no info now,
 it still not possible to publish app
Result
Conclusion
Skydrive with all samples / slides / videos:
          http://sdrv.ms/KsoFUq

   Webcast of this session on YouTube:
Q&A
(Don’t hesitate to
give us feedbacks on
twitter @juliendollon
/ @soumow)

Más contenido relacionado

La actualidad más candente

Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows Phone
Dima Maleev
 
Introduction to XAML and WPF
Introduction to XAML and WPFIntroduction to XAML and WPF
Introduction to XAML and WPF
Doncho Minkov
 
Tech days faridabad
Tech days  faridabadTech days  faridabad
Tech days faridabad
Ankur Mishra
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Frank La Vigne
 

La actualidad más candente (19)

Metro Style Apps - Whats there for Developers
Metro Style Apps - Whats there for DevelopersMetro Style Apps - Whats there for Developers
Metro Style Apps - Whats there for Developers
 
WPF For Beginners - Learn in 3 days
WPF For Beginners  - Learn in 3 daysWPF For Beginners  - Learn in 3 days
WPF For Beginners - Learn in 3 days
 
Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows Phone
 
Introduction to XAML and WPF
Introduction to XAML and WPFIntroduction to XAML and WPF
Introduction to XAML and WPF
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
 
Tech days faridabad
Tech days  faridabadTech days  faridabad
Tech days faridabad
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
Computer project work
Computer project workComputer project work
Computer project work
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilight
 
Mobile Application Development Using Java
Mobile Application Development Using JavaMobile Application Development Using Java
Mobile Application Development Using Java
 
Role of java in android app development
Role of java in android app developmentRole of java in android app development
Role of java in android app development
 
Windows Presentation Foundation
Windows Presentation Foundation  Windows Presentation Foundation
Windows Presentation Foundation
 
Live Source - an Agile Toolkit
Live Source - an Agile ToolkitLive Source - an Agile Toolkit
Live Source - an Agile Toolkit
 
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
 
DDive11 - Mobile Development For Domino
DDive11 - Mobile Development For DominoDDive11 - Mobile Development For Domino
DDive11 - Mobile Development For Domino
 
Wcf library
Wcf libraryWcf library
Wcf library
 
Universal windowsplatform
Universal windowsplatformUniversal windowsplatform
Universal windowsplatform
 
Android Development Slides
Android Development SlidesAndroid Development Slides
Android Development Slides
 

Similar a Develop an app for Windows 8 using HTML5

Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
sschwarzhoff
 
What Is Silverlight
What Is SilverlightWhat Is Silverlight
What Is Silverlight
guest50274e
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
Christian Heindel
 

Similar a Develop an app for Windows 8 using HTML5 (20)

JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Windows 7 mobile
Windows 7 mobileWindows 7 mobile
Windows 7 mobile
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
What Is Silverlight
What Is SilverlightWhat Is Silverlight
What Is Silverlight
 
What Is Silverlight
What Is SilverlightWhat Is Silverlight
What Is Silverlight
 
What Is Silverlight
What Is SilverlightWhat Is Silverlight
What Is Silverlight
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 Development
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Web tech
Web techWeb tech
Web tech
 
Web techh
Web techhWeb techh
Web techh
 
Web tech
Web techWeb tech
Web tech
 
Web tech
Web techWeb tech
Web tech
 
Windows 8 & JavaScript
Windows 8 & JavaScriptWindows 8 & JavaScript
Windows 8 & JavaScript
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
 

Último (20)

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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
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
 
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
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
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​
 
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 ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
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...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Develop an app for Windows 8 using HTML5

  • 1.
  • 2.
  • 3.
  • 5. I’m a Web developer, I don’t know (at all) Microsoft technologies. I already developed an HTML5 web page. I want to create the Windows 8 app of my page.
  • 6. My existing web page: home.dollon.net
  • 7. Compatible with all last browsers on PC and tablets. Works with HTML5 and CSS3 features, knockout.js, jQuery, less (and node.js web service)
  • 9.
  • 10. So now, please Microsoft, where is the right button click “Transform this website as a metro style app for Windows8”?
  • 11. It does not exist. And it’s normal. Because you are working for a specific kind of tablet with native call (new API, new controls…) and NEW design style (metro). You are not designing a web page. You are developing a native app.
  • 12. 9 things to migrate your HTML5 app on Windows 8 environment.
  • 13. 0 – which kind of tools I need?* *this point is not included on the counter ☺
  • 14. DEMO
  • 15.
  • 16. 1 - what is a package?
  • 17. a package is a ZIP file Don’t forget to obfuscate your code It’s the ‘executable’ of your project It contains everything (HTML, JS, Manifest..) After installation, the app is located here c:Program FilesWindowsApps
  • 18. You can use PowerShell to deploy it And all packages are signed with certificates
  • 19. 2 – what happens in runtime?
  • 20. The process that hosts/executes a Metro style app using JavaScript is called WWAHost.exe Your app ‘live’ inside a sandbox without all privileges of the current user
  • 21. Process state transitions A user App is launch an Suspended Terminated running app An app gets 5 secondes to handle suspend and is notified when it has been resumed App is not notified before a termination caused by low resources
  • 22. 3 – Differences between Metro style app And traditional HTML5 web page
  • 23. ALL* HTML5/CSS3 features are supported *if IE10 “trident” layout engine support it
  • 24. ALL* JavaScript features are supported *if IE10 “Chakra” engine support it
  • 25. Native APIs DOM Events Namespaces Controls Enumerations No Java, Silverlight, Flash and other embedded components Some ActiveX controls are disabled
  • 26. So, HTML5, CSS3 and JavaScript have the same support of web APIs than IE 10 + API from WinRT
  • 27. And you have to know that seriously ROCKS!
  • 28. This isn’t just a container like PhoneGap It doesn’t run in a browser
  • 29. REUSE THE SAME CODE Just to see if it works ☺
  • 30.
  • 31. 4 – what is WinRT?
  • 32. Windows RT != WinRT (Windows RT is the Windows 8 version for ARM)
  • 33. WinRT Resides directly on the top of the kernel just like the Win32 API WinRT APIs are written in unmanaged C++ and designed to be object-oriented
  • 34. 5 – what is WinJS?
  • 35. WinJS is the orange layer
  • 36. A language projection exists for .NET and C++ too
  • 37. Windows library for JS Helpers Animations Templates Styles App Model Data Binding Controls Navigation
  • 38. Binding.js Wwaap.js Ui.js Base.js Controls.js Animation.js
  • 39. 6 – Windows Controls
  • 40. Built-in Controls Metro-UI Styles Touch enabled Native Customizable All basic controls Controls Same in XAML
  • 41. AppBar Useful to bring up commands on demand Don’t forget to use Charms for some entry points
  • 42. MODIFY THE APP With Windows 8 controls
  • 43.
  • 44.
  • 45. 7 – Multiple Views and Resolutions
  • 46. The principal screen can be at minimum 1024x768 It exists widescreen (1366x768+) Two other modes: snapview and portait
  • 47. Use three kind of image size (100%, 140% and 180%). Depending on the resolutions, images are loaded automatically Image.jpg Image.scale-180.jpg
  • 48. Use of CSS media queries
  • 49. MODIFY THE APP Screens
  • 50.
  • 51. 7 – Use Contracts
  • 52. Share to export the current content Search to find content File Picker to allow user to access content from outside Settings to configure the app
  • 53. MODIFY THE APP Contracts
  • 54.
  • 55. 8 – Use Tiles
  • 56. Tiles is the “link” to open your app It could be a “secondary tiles” Can provide a lot of information (icons, notifications, counter)
  • 57. MODIFY THE APP With Tiles and Splash
  • 58.
  • 59. 9 – Debugging and Performances
  • 60. Performance Tips & tricks that still work: For safe dynamic content, use innerHTML Link CSS stylesheets at the top of the page Avoid inline JavaScript and inline CSS styles Don’t parse JSON by hand, use JSON.parse
  • 61. A Metro style app using HTML5 is more than a web page …
  • 62. Optimize your landing page Rely on packaged content and local data Use local images scaled to the right size Use WinJS fragments to load parts of your app on demand Defer parsing of unneeded HTML content Delays JavaScript Keeps your DOM small: look-up and manipulations are quicker
  • 63. Further optimizations Defer some initialization to after the splash screen Start network downloads after initialization Delay loading databases Consolidate small JS files that are related into larger files If you need more time, use an extended splash screen
  • 64. Manage your resources Keep a lightweight DOM Release expensive content, such as media elements, as soon as they are no longer needed Help the garbage collector Avoid circular references between your elements and JavaScript code Review how you use your Object URLs
  • 65. On suspend, free resources that are easy to recreate Use media content from the user at the screen resolution Tune your app launch time to create great first impressions Keep your app alive by minimizing your memory footprint Be responsive, don’t block the UI thread
  • 66. Debugging JavaScript apps is !@#$%^ hard!
  • 67. Debugging with Visual Studio Launch with debugging debugger keyword Debug.enableFirstChanceException(true); JavaScript console DOM explorer
  • 68. Debugging with Blend Understand your CSS with the Winning Rule and Show Set Properties mode Debug device-state issues with the Platform and Styles Panes Catch grid layout issues Find parser-generated elements with the Live DOM Diagnose post-interaction problems with Interactive Mode
  • 69. 10 – Deployment But no info now, it still not possible to publish app
  • 71. Conclusion Skydrive with all samples / slides / videos: http://sdrv.ms/KsoFUq Webcast of this session on YouTube:
  • 72. Q&A (Don’t hesitate to give us feedbacks on twitter @juliendollon / @soumow)