SlideShare a Scribd company logo
1 of 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

More Related Content

More from Jeff Bramwell

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

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 

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

Editor's Notes

  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