SlideShare a Scribd company logo
1 of 11
Chad McCallum
               ASP.NET/IIS MVP
              iQmetrix Software
         http://www.rtigger.com
@ChadEmm / chadm@iqmetrix.com
Windows RT API
 Windows Runtime is implemented at a low-level and
 then “projected” into C++, C#, VB, and JavaScript APIs

 Allows the APIs to present the same functionality in a
 way that’s familiar to developers of that language
Native App in HTML?
 Apps are run in an Internet Explorer 10 shell


 This means:
    Can include other JS libraries
    HTML5 and CSS3 support for user interface
    Can do (almost) anything you’d do with a web
     application
What are these apps called?
 Windows Store apps
   Acquired, installed, and updated via the Windows Store
    app
   Packaged into an “.appx” file when submitted
   Contains a manifest file that describes the app, the
    resources it uses (camera, network, etc.), and lists OS
    integrations (background tasks, file associations, etc.)
Windows Library for JavaScript
 aka WinJS
 Wrapper for Windows Runtime API
 Provides:
    Access to system-level resources
    HTML implementation of WinRT controls, complete
     with CSS styling and events
    CSS3-based animation framework
    Helpers for common coding patterns
Not Quite a Web Page
 Some DOM API calls are modified or unavailable, like
 alert or window.open

 There are some methods, properties, and CSS queries
 that are specific to a Windows Store app

 Allowed to make cross-domain requests, load
 resources from remote sources
Not Quite a Web Page
 Not allowed to reference scripts remotely


 IFrames are run in “web context” without access to
 WinRT

 Some DOM-based calls are modified or removed
 (document.write, innerHTML)
App Container
 Run within a dedicated environment that can’t access
 other applications and the system directly

 Have unrestricted read/write access to their own
 appdata folders

 Access to any other files or hardware goes through a
 broker, which can deny access
App Lifecycle
 4-ish states
    Starting: shows splash screen image, does all the app
     initialization behind the scenes
    Running: active application on user’s device
        Suspending: app has lost focus, 5 seconds to save state
        Resuming: app has regained focus
   Suspended: still in memory, but not allocated any CPU
    time
   Terminated: removed from memory, effectively closed.
    OS triggers this at will, app is not informed
App State
 When being “suspended”, Windows 8 gives your app
  approximately 5 seconds to save its state

 Can save data as Temp, Local, and Roaming
    Save as a file and/or key-value pairs
    Always app-specific, as they’re saved relative to your
     app’s directory
    Roaming settings are uploaded to user’s Microsoft
     Account and are accessible across devices
Code Time!

More Related Content

What's hot

Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
vidyamittal
 
Public Library
Public LibraryPublic Library
Public Library
eclumson
 
Asp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraAsp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohra
Gajanand Bohra
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
Rahul Bansal
 
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
 
New Features of ASP.NET 4.0
New Features of ASP.NET 4.0New Features of ASP.NET 4.0
New Features of ASP.NET 4.0
Buu Nguyen
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
Willie jackson portfolio
Willie jackson portfolioWillie jackson portfolio
Willie jackson portfolio
wjax24
 

What's hot (20)

Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR Seminar
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
 
Public Library
Public LibraryPublic Library
Public Library
 
Asp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraAsp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohra
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
Asp.net basic
Asp.net basicAsp.net basic
Asp.net basic
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
Asp net
Asp netAsp net
Asp net
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
 
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
 
ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
New Features of ASP.NET 4.0
New Features of ASP.NET 4.0New Features of ASP.NET 4.0
New Features of ASP.NET 4.0
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Willie jackson portfolio
Willie jackson portfolioWillie jackson portfolio
Willie jackson portfolio
 
Late Bound, Early Bound with Demo and Practical in Dynamics 365 Plugin
Late Bound, Early Bound with Demo and Practical in Dynamics 365 PluginLate Bound, Early Bound with Demo and Practical in Dynamics 365 Plugin
Late Bound, Early Bound with Demo and Practical in Dynamics 365 Plugin
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
Asp.net
Asp.netAsp.net
Asp.net
 

Viewers also liked (9)

How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hacker
 
Ready, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming languageReady, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming language
 
Aruna Kumar_Resume
Aruna Kumar_ResumeAruna Kumar_Resume
Aruna Kumar_Resume
 
Open regina
Open reginaOpen regina
Open regina
 
Open source web services
Open source web servicesOpen source web services
Open source web services
 
You Can't Buy Agile
You Can't Buy AgileYou Can't Buy Agile
You Can't Buy Agile
 
Single page apps and the web of tomorrow
Single page apps and the web of tomorrowSingle page apps and the web of tomorrow
Single page apps and the web of tomorrow
 
Caching up is hard to do: Improving your Web Services' Performance
Caching up is hard to do: Improving your Web Services' PerformanceCaching up is hard to do: Improving your Web Services' Performance
Caching up is hard to do: Improving your Web Services' Performance
 
Async in .NET
Async in .NETAsync in .NET
Async in .NET
 

Similar to Windows 8 programming with html and java script

Android application structure
Android application structureAndroid application structure
Android application structure
Alexey Ustenko
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
sschwarzhoff
 

Similar to Windows 8 programming with html and java script (20)

Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5
 
architecture of android.pptx
architecture of android.pptxarchitecture of android.pptx
architecture of android.pptx
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
Android application structure
Android application structureAndroid application structure
Android application structure
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Android - Anroid Pproject
Android - Anroid PprojectAndroid - Anroid Pproject
Android - Anroid Pproject
 
Windows 8 BootCamp
Windows 8 BootCampWindows 8 BootCamp
Windows 8 BootCamp
 
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
 
Asp
AspAsp
Asp
 
01 asp.net session01
01 asp.net session0101 asp.net session01
01 asp.net session01
 
A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net  A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
DreamFactory Essentials Webinar
DreamFactory Essentials WebinarDreamFactory Essentials Webinar
DreamFactory Essentials Webinar
 
Part 2 android application development 101
Part 2 android application development 101Part 2 android application development 101
Part 2 android application development 101
 
Cache me if you can
Cache me if you canCache me if you can
Cache me if you can
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 

More from RTigger (12)

Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
 
Hackers, hackathons, and you
Hackers, hackathons, and youHackers, hackathons, and you
Hackers, hackathons, and you
 
AJAX, JSON, and Client-Side Templates
AJAX, JSON, and Client-Side TemplatesAJAX, JSON, and Client-Side Templates
AJAX, JSON, and Client-Side Templates
 
JavaScript!
JavaScript!JavaScript!
JavaScript!
 
Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
 
Node.js
Node.jsNode.js
Node.js
 
Reactive Extensions
Reactive ExtensionsReactive Extensions
Reactive Extensions
 
Sql vs NoSQL
Sql vs NoSQLSql vs NoSQL
Sql vs NoSQL
 
Git’in Jiggy With Git
Git’in Jiggy With GitGit’in Jiggy With Git
Git’in Jiggy With Git
 
What The F#
What The F#What The F#
What The F#
 
Web Services
Web ServicesWeb Services
Web Services
 
Total Engagement
Total EngagementTotal Engagement
Total Engagement
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 

Windows 8 programming with html and java script

  • 1. Chad McCallum ASP.NET/IIS MVP iQmetrix Software http://www.rtigger.com @ChadEmm / chadm@iqmetrix.com
  • 2. Windows RT API  Windows Runtime is implemented at a low-level and then “projected” into C++, C#, VB, and JavaScript APIs  Allows the APIs to present the same functionality in a way that’s familiar to developers of that language
  • 3. Native App in HTML?  Apps are run in an Internet Explorer 10 shell  This means:  Can include other JS libraries  HTML5 and CSS3 support for user interface  Can do (almost) anything you’d do with a web application
  • 4. What are these apps called?  Windows Store apps  Acquired, installed, and updated via the Windows Store app  Packaged into an “.appx” file when submitted  Contains a manifest file that describes the app, the resources it uses (camera, network, etc.), and lists OS integrations (background tasks, file associations, etc.)
  • 5. Windows Library for JavaScript  aka WinJS  Wrapper for Windows Runtime API  Provides:  Access to system-level resources  HTML implementation of WinRT controls, complete with CSS styling and events  CSS3-based animation framework  Helpers for common coding patterns
  • 6. Not Quite a Web Page  Some DOM API calls are modified or unavailable, like alert or window.open  There are some methods, properties, and CSS queries that are specific to a Windows Store app  Allowed to make cross-domain requests, load resources from remote sources
  • 7. Not Quite a Web Page  Not allowed to reference scripts remotely  IFrames are run in “web context” without access to WinRT  Some DOM-based calls are modified or removed (document.write, innerHTML)
  • 8. App Container  Run within a dedicated environment that can’t access other applications and the system directly  Have unrestricted read/write access to their own appdata folders  Access to any other files or hardware goes through a broker, which can deny access
  • 9. App Lifecycle  4-ish states  Starting: shows splash screen image, does all the app initialization behind the scenes  Running: active application on user’s device  Suspending: app has lost focus, 5 seconds to save state  Resuming: app has regained focus  Suspended: still in memory, but not allocated any CPU time  Terminated: removed from memory, effectively closed. OS triggers this at will, app is not informed
  • 10. App State  When being “suspended”, Windows 8 gives your app approximately 5 seconds to save its state  Can save data as Temp, Local, and Roaming  Save as a file and/or key-value pairs  Always app-specific, as they’re saved relative to your app’s directory  Roaming settings are uploaded to user’s Microsoft Account and are accessible across devices