SlideShare una empresa de Scribd logo
1 de 29
Introduction to Windows
          8 Development

           Let’s Go Metro
Jeff Bramwell
                                                                  w
                                     Heartland Developers Conference
Director - Enterprise Architecture   Thursday, September 6th, 2012
Farm Credit Services of America      10:15 AM Room 200
jbramwell@gmail.com|@jbramwell
devmatter.blogspot.com
Please Be Courteous!




Please be courteous to your fellow attendees
                    and
 Set your phones to vibrate or silent mode!
Agenda
• Tools
• Runtime / Architecture
• Development Features
• Windows Store
• Resources & Links
• Questions
Tools
Windows 8 SKUs
                                                                       X86/64
• Windows 8
  • Targeted toward home users
  • Matches closest to Windows 7 “Home” editions
• Windows 8 Pro
  • Targeted toward business and enthusiast users
  • Matches closest to Windows 7 Professional and Ultimate editions
• Windows 8 Enterprise
  • Targeted toward businesses
  • Available only through Software Assurance
                                                                        ARM
• Windows RT     Don’t confuse this with WinRT or Windows Runtime 
  • Pre-installed on ARM-based devices
Get the Tools
• Visual Studio 2012
  •   Visual Studio Express 2012 for Windows 8 (FREE)
  •   Visual Studio Professional 2012
  •   Visual Studio Premium 2012
  •   Visual Studio Ultimate 2012
• Blend for Visual Studio 2012
  • UI Design and Development
  • Optional
• .NET Framework 4.5
  • Included with Windows 8
  • Installed with Visual Studio 2012 on non-Windows 8 devices
UX / Runtime / Architecture
What is “Metro             w”
• A “code” name 
     • Windows Store application
•   Content over chrome
•   Fast and fluid
•   Touch first
•   Snap and scale beautifully
•   Use of contracts
•   Application tile
•   Connected; Roam to the cloud
•   Authentically digital
Windows Runtime (WinRT)
• New programming model for Windows 8
• Supports C#, VB.NET, C++, and JavaScript
• Supported on x86 and ARM architectures
• Windows metadata provides cross-language support
  • Complete description of Windows Runtime
  • Allows for multi-language projection
  • Full IntelliSense
• Asynchronous APIs
• Windows.* namespaces include Windows Runtime types
Windows Runtime Architecture
Development Features
Creating a Windows 8 App
• Visual Studio 2012
• Windows Store Templates
• Several Project Types
Roaming Data
• Built-in data roaming capabilities
• Uses Microsoft Account
• Simple to use:
  Windows.Storage.ApplicationData.Current.RoamingSettings.Values["StoredValue"] = StoredValue.Text;



• Use RoamingFolder for file-based data
• Roaming storage quota = 100KB
• If you exceed quota, nothing syncs (though it still persists)
• Use HighPriority for preserving application context
• Use a CompositeSettingValue to roam related items
Contracts & Extensions
Contracts              Extensions
• App to App Picking   • Account picture provider
• Play To              • AutoPlay
• Print                • Background tasks
• Search               • Camera settings
• Settings             • Contact picker
• Share                • File activation
                       • Game Explorer
                       • Print task settings
                       • Protocol activation
                       • SSL/certificates
File Picker
• FileOpenPicker
  • Presents a list of files (as a list or thumbnails) for selection
  • SkyDrive support built in
  • Returns a Windows.Storage.StorageFile


• FileSavePicker
  • Allows you to save a file to a selected location
  • SkyDrive support built in
  • Returns a Windows.Storage.StorageFile
Settings Contract
• Implemented via SettingsCommand
• Displayed via User Control hosted in Popup
• Various ways to implement
• Widths of 346px or 646px supported
App Bars
• Similar in concept to menu bar in Windows Phone
• Use top App Bar for Navigation
• Use bottom App Bar for Commands
• Use <AppBar /> XAML control to add an app bar to your app
• Can create your own icons – or – utilize Segoe UI Symbol
Application lifecycle

                    Running




       NotRunning             Suspended
Application lifecycle
• Use PreviousExecutionState when Launching
  •   NotRunning
  •   Running
  •   Suspended
  •   Terminated
  •   ClosedByUser
• Use SuspendingOperation.GetDeferral() when Suspending
• No special check required when Resuming
Windows Store
Windows Store
• Integrated into Visual Studio 2012
• Open Developer Account
• Reserve App Name
  • Good for 1 year
• Acquire Developer License
  • Tied to Microsoft Account
  • License per machine
  • Free
Windows Store (cont’d)
• Edit App Manifest
• Associate App with Windows Store
  • Based on reserved apps
• Capture Screenshots
• Create/Upload App Packages
Summary
• Tools
    • Windows 8
    • Visual Studio 2012
    • .NET Framework 4.5
• Runtime / Architecture
    • Windows Runtime
• Development Features
    •   Roaming Data
    •   Contracts & Extensions
    •   File Picker
    •   Settings
    •   App bars
    •   Application Lifecycle
• Windows Store
    • Registration
    • Packaging
    • Publishing
Resources & Links
Download Links
• Windows 8 RTM
  • MSDN and Evaluation versions
• Visual Studio Express 2012 for Windows 8
  • The FREE version
• Templarian Icons
  • Great, free Windows 8/Phone Icons
• Syncfusion Metro Studio
  • Easily create great Windows 8/Phone Icons
• Windows 8 Dev Camp in a Box
  • A wealth of resources and information
Resources
• How to Develop a Windows 8 App in 30 Days

• Windows Metro Style Apps Forums

• Windows 8 Code Samples

• Windows 8 on Stack Overflow
Related Sessions
Thursday
09:00 – K1 – Keynote Session – Windows 8 and the Future of Client Development w/Pete Brown
   • Already over 
10:15 – Session 201 – Getting Started with Windows 8 Development – Go Metro!
   • This session 
10:15 – Session 401 – C++/CX and WinRT: Just Enough C++ To Get By On w/Michael Price
   • Same time as this session 


Friday
13:15 – Session 208 – Understanding the Metro UX – A Developer Perspective w/Jeff Brand
   • You don’t want to miss this one!
14:15 – Session 309 – Cross-Platform, Cross-Device, Connected-Apps Oh My! w/Mike Benkovich
   • Building Connected Windows 8 Applications with Windows Azure
Questions

Más contenido relacionado

Más de Jeff Bramwell

Más de Jeff Bramwell (20)

A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise Quality
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Roadmap to Enterprise Quality
Roadmap to Enterprise QualityRoadmap to Enterprise Quality
Roadmap to Enterprise Quality
 
The Future is Here
The Future is HereThe Future is Here
The Future is Here
 
Evaluating Docker in the Enterprise - Getting Started
Evaluating Docker in the Enterprise - Getting StartedEvaluating Docker in the Enterprise - Getting Started
Evaluating Docker in the Enterprise - Getting Started
 
Performance testing with VSTs on- and off-premises
Performance testing with VSTs on-  and off-premisesPerformance testing with VSTs on-  and off-premises
Performance testing with VSTs on- and off-premises
 
Using REST with VSTS and TFS
Using REST with VSTS and TFSUsing REST with VSTS and TFS
Using REST with VSTS and TFS
 
Building Extensions in VSTS and TFS
Building Extensions in VSTS and TFSBuilding Extensions in VSTS and TFS
Building Extensions in VSTS and TFS
 
Adventures in enterprise architecture
Adventures in enterprise architectureAdventures in enterprise architecture
Adventures in enterprise architecture
 
Building with Visual Studio Online
Building with Visual Studio OnlineBuilding with Visual Studio Online
Building with Visual Studio Online
 
Introduction to Windows 8 Development
Introduction to Windows 8 DevelopmentIntroduction to Windows 8 Development
Introduction to Windows 8 Development
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
 
Getting Started With the TFS Object Model
Getting Started With the TFS Object ModelGetting Started With the TFS Object Model
Getting Started With the TFS Object Model
 
What's Coming in Visual Studio v.Next
What's Coming in Visual Studio v.NextWhat's Coming in Visual Studio v.Next
What's Coming in Visual Studio v.Next
 
Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 Development
 
TDC 2010 - VS2010 ALM - What's In It for Me
TDC 2010 - VS2010 ALM - What's In It for MeTDC 2010 - VS2010 ALM - What's In It for Me
TDC 2010 - VS2010 ALM - What's In It for Me
 
TDC 2010 - Migrating to TFS 2010 - Lessons Learned
TDC 2010 - Migrating to TFS 2010 - Lessons LearnedTDC 2010 - Migrating to TFS 2010 - Lessons Learned
TDC 2010 - Migrating to TFS 2010 - Lessons Learned
 
Tulsa TechFest 2010 - What's New in TFS 2010
Tulsa TechFest 2010 - What's New in TFS 2010Tulsa TechFest 2010 - What's New in TFS 2010
Tulsa TechFest 2010 - What's New in TFS 2010
 
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons LearnedTulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
 

Último

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

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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 - 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 ...
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Introduction to Windows 8 Development

  • 1. Introduction to Windows 8 Development Let’s Go Metro Jeff Bramwell w Heartland Developers Conference Director - Enterprise Architecture Thursday, September 6th, 2012 Farm Credit Services of America 10:15 AM Room 200 jbramwell@gmail.com|@jbramwell devmatter.blogspot.com
  • 2. Please Be Courteous! Please be courteous to your fellow attendees and Set your phones to vibrate or silent mode!
  • 3.
  • 4. Agenda • Tools • Runtime / Architecture • Development Features • Windows Store • Resources & Links • Questions
  • 6. Windows 8 SKUs X86/64 • Windows 8 • Targeted toward home users • Matches closest to Windows 7 “Home” editions • Windows 8 Pro • Targeted toward business and enthusiast users • Matches closest to Windows 7 Professional and Ultimate editions • Windows 8 Enterprise • Targeted toward businesses • Available only through Software Assurance ARM • Windows RT  Don’t confuse this with WinRT or Windows Runtime  • Pre-installed on ARM-based devices
  • 7. Get the Tools • Visual Studio 2012 • Visual Studio Express 2012 for Windows 8 (FREE) • Visual Studio Professional 2012 • Visual Studio Premium 2012 • Visual Studio Ultimate 2012 • Blend for Visual Studio 2012 • UI Design and Development • Optional • .NET Framework 4.5 • Included with Windows 8 • Installed with Visual Studio 2012 on non-Windows 8 devices
  • 8. UX / Runtime / Architecture
  • 9. What is “Metro w” • A “code” name  • Windows Store application • Content over chrome • Fast and fluid • Touch first • Snap and scale beautifully • Use of contracts • Application tile • Connected; Roam to the cloud • Authentically digital
  • 10. Windows Runtime (WinRT) • New programming model for Windows 8 • Supports C#, VB.NET, C++, and JavaScript • Supported on x86 and ARM architectures • Windows metadata provides cross-language support • Complete description of Windows Runtime • Allows for multi-language projection • Full IntelliSense • Asynchronous APIs • Windows.* namespaces include Windows Runtime types
  • 13. Creating a Windows 8 App • Visual Studio 2012 • Windows Store Templates • Several Project Types
  • 14. Roaming Data • Built-in data roaming capabilities • Uses Microsoft Account • Simple to use: Windows.Storage.ApplicationData.Current.RoamingSettings.Values["StoredValue"] = StoredValue.Text; • Use RoamingFolder for file-based data • Roaming storage quota = 100KB • If you exceed quota, nothing syncs (though it still persists) • Use HighPriority for preserving application context • Use a CompositeSettingValue to roam related items
  • 15. Contracts & Extensions Contracts Extensions • App to App Picking • Account picture provider • Play To • AutoPlay • Print • Background tasks • Search • Camera settings • Settings • Contact picker • Share • File activation • Game Explorer • Print task settings • Protocol activation • SSL/certificates
  • 16. File Picker • FileOpenPicker • Presents a list of files (as a list or thumbnails) for selection • SkyDrive support built in • Returns a Windows.Storage.StorageFile • FileSavePicker • Allows you to save a file to a selected location • SkyDrive support built in • Returns a Windows.Storage.StorageFile
  • 17. Settings Contract • Implemented via SettingsCommand • Displayed via User Control hosted in Popup • Various ways to implement • Widths of 346px or 646px supported
  • 18. App Bars • Similar in concept to menu bar in Windows Phone • Use top App Bar for Navigation • Use bottom App Bar for Commands • Use <AppBar /> XAML control to add an app bar to your app • Can create your own icons – or – utilize Segoe UI Symbol
  • 19. Application lifecycle Running NotRunning Suspended
  • 20. Application lifecycle • Use PreviousExecutionState when Launching • NotRunning • Running • Suspended • Terminated • ClosedByUser • Use SuspendingOperation.GetDeferral() when Suspending • No special check required when Resuming
  • 22. Windows Store • Integrated into Visual Studio 2012 • Open Developer Account • Reserve App Name • Good for 1 year • Acquire Developer License • Tied to Microsoft Account • License per machine • Free
  • 23. Windows Store (cont’d) • Edit App Manifest • Associate App with Windows Store • Based on reserved apps • Capture Screenshots • Create/Upload App Packages
  • 24. Summary • Tools • Windows 8 • Visual Studio 2012 • .NET Framework 4.5 • Runtime / Architecture • Windows Runtime • Development Features • Roaming Data • Contracts & Extensions • File Picker • Settings • App bars • Application Lifecycle • Windows Store • Registration • Packaging • Publishing
  • 26. Download Links • Windows 8 RTM • MSDN and Evaluation versions • Visual Studio Express 2012 for Windows 8 • The FREE version • Templarian Icons • Great, free Windows 8/Phone Icons • Syncfusion Metro Studio • Easily create great Windows 8/Phone Icons • Windows 8 Dev Camp in a Box • A wealth of resources and information
  • 27. Resources • How to Develop a Windows 8 App in 30 Days • Windows Metro Style Apps Forums • Windows 8 Code Samples • Windows 8 on Stack Overflow
  • 28. Related Sessions Thursday 09:00 – K1 – Keynote Session – Windows 8 and the Future of Client Development w/Pete Brown • Already over  10:15 – Session 201 – Getting Started with Windows 8 Development – Go Metro! • This session  10:15 – Session 401 – C++/CX and WinRT: Just Enough C++ To Get By On w/Michael Price • Same time as this session  Friday 13:15 – Session 208 – Understanding the Metro UX – A Developer Perspective w/Jeff Brand • You don’t want to miss this one! 14:15 – Session 309 – Cross-Platform, Cross-Device, Connected-Apps Oh My! w/Mike Benkovich • Building Connected Windows 8 Applications with Windows Azure

Notas del editor

  1. Who am I and why do you care? 
  2. Explain the twitter-based game.
  3. Windows RT will not be available for general purchase. It will be available, pre-installed, on ARM devices only.Don’t confuse “Windows RT” with “WinRT”; They’re not the same thing. More information regarding SKUs at: http://en.Wikipedia.org/wiki/Windows_8_editions
  4. In most cases you don’t need to worry about the .NET Framework 4.5 since it is included with both Windows 8 and Visual Studio 2012. However, you may need to install it on application servers or other machines depending upon the target application type and dependencies.There is currently no Express SKU for building .NET/Desktop apps. A “Desktop” Express SKU has been announced for the Fall but no official release date has been announced  http://blogs.msdn.com/b/visualstudio/archive/2012/06/08/visual-studio-express-2012-for-windows-desktop.aspx
  5. Take a look at some of the out-of-the-box RT apps that ship with Windows 8… they all focus on content rather than chrome.They provide a “fully immersive” (full screen) experience.When designing “Metro” apps, design the user interface to allow for a great “touch first” experience. This includes gestures as well as just “touch”. Use the VS 2012 simulator to simulate touch experiences on a non-touch enabled screen.Use of contracts allow for a consistent usage pattern across applications on Windows 8.Utilizing the cloud allows your settings to follow you from device to device.Create your applications to utilize the features of the device; do not simulate “real world” interfaces (e.g. spiral bound notebooks). In other words, be authentically digital.
  6. Standard .NET applications are supported in Windows 8 in “desktop” mode only – not using the new “Metro” style.All WinRT assemblies are referenced automatically when you create a new Windows Store Application.Don’t confuse “Windows RT” with “WinRT”; They’re not the same thing. 
  7. If you exceed quota, the settings will be saved locally but will not sync to the cloud.High priority items must be under 8KB to roam as “high priority”. If the High priority item exceeds 8KB, it will be roamed as a “normal” setting (i.e. it could take a few minutes before it syncs).Applications can be ran/debugged:Locally (against development hardware)Locally in Simulator (Great for testing data roaming)Remotely (e.g. on a Windows 8 tablet)
  8. Main difference between Contracts &amp; Extensions is that contracts are between two apps whereas extensions allow you to extend Windows capabilities.
  9. StorageFile has various (asynchronous) read/write methods for reading/writing files.
  10. Settings Panel guidance:http://msdn.microsoft.com/en-us/library/windows/apps/hh770544.aspx
  11. Can use a tool like Syncfusion’s Metro Studio to build custom iconsNeed to add reference to App Bar guidelines