SlideShare una empresa de Scribd logo
1 de 25
A Developer's View of Windows
8


Andrei Marukovich
andrei.marukovich@lunarfrog.com
@taggedfrog
Agenda
• Developing for Classic Desktop
• Introduction to Metro UI
• Building Metro applications




                                   2
Is .NET dead?



                vs




                     3
Windows 8 platform

                                               HTML /
                                     C# / VB     JS
                                                          C / C++
                                                  or
                                                 SL
     Metro-style APIs

                                       CLR     Internet
                                                          Win32
                                               Explorer


                 Windows Kernel Services




                                                                    4
.NET 4.5 Framework
• Pre-installed in Windows 8
• Windows XP is not supported
• Use 4.0 runtime (same as 3.5 use 2.0 RT)




                                             5
Asynchronous development
• New data structures
• New async APIs
• New keywords in C# and VB
  • async
  • await




                              6
Demo
Async and Await




                  7
If it runs on a Windows 7,
it'll run on Windows 8 PC




                             8
Demo
 Metro UI




            9
App suspension
• Inactive apps are suspended by the OS:
  • Apps remain in memory
  • No CPU, Disk or Network consumed
  • All threads are suspended




                                           10
App lifecycle states


      Not started      Running



                                 Suspending



                    Suspended




                                              11
Demo
App lifecycle




                12
Windows 8 platform

                                                       HTML /
                                             C# / VB     JS
                Languages                                         C / C++
                                                          or
                                                         SL

                WinRT APIs
                                               CLR     Internet
Communication   Graphics/Media   Devices                          Win32
                                                       Explorer
            Application Model

                         Windows Kernel Services




                                                                        13
WinRT
• Object-oriented Win32 replacement
• Native, written in C++
• Based on COM
• .NET-like metadata
• Any language can be used to extend it
• Async everywhere (50ms rule)


                                          14
Windows 8 platform

HTML / CSS        DirectX          XAML                     HTML /
                                                  C# / VB     JS
                                                                       C / C++
 JavaScript                          C# / VB                   or
                    C / C++
IE 10 Engine                           CLR                    SL

                  WinRT APIs
                                                    CLR     Internet
Communication     Graphics/Media     Devices                           Win32
                                                            Explorer
               Application Model

                              Windows Kernel Services




                                                                             15
.NET Metro profile
• Subset of Client Profile
  •   No Remoting
  •   No System.Data
  •   No System.Web
  •   No private reflection, no Emit
  •   Some APIs replaced with async versions
  •   Some .NET classes moved to WinRT




                                               16
XAML for Metro
• New variation of XAML, close to Silverlight
• Standard controls
  • Button, TextBox, ComboBox, CheckBox, etc.
• New controls
  •   ProgressRing
  •   FlipView
  •   GridView
  •   ListView

                                                17
Demo
• Image Browser
  • Scans Pictures library and shows all the
    keywords
  • Allows to select a keyword
  • Shows all the images for the keyword
• Snapping
• Search integration
• FilePicker integration

                                               18
Demo
Developing Windows 8 apps




                            19
App packaging
                    • .appx file format (zip)

   Files / Assets
                    • Compiled app and
                      resources
                    • App Manifest
 AppXManifest.xml
                    • BlockMap
    BlockMap
                    • Digital signature
    Signature

   .appx package


                                                20
Installation
• Declarative approach
• Everything installed in one folder
• Installation is on per-user basis
  • Installation for first user
  • Registration for the next
• No custom actions
• Automatic updates

                                       21
How to start
• Main start point: http://dev.windows.com/
  •   Samples
  •   Metro style app reference and APIs
  •   Forums
  •   Windows 8 Developer Preview with developer
      tools (x64)


• Installation on a VM
  • VirtualBox 4.1.2+
  • VMware Workstation 8.0+
  • Hyper-V                                    22
Links
• BUILD conference videos
  • http://channel9.msdn.com/Events/BUILD/BUILD2011
  • 8 Traits of Great Metro Style Apps (Jensen Harris)



• Building Windows 8 blog
  • http://blogs.msdn.com/b/b8/




                                                         23
Q&A
lunarfrog.com/blog
  @taggedfrog




                     24
Thank you!


             25

Más contenido relacionado

La actualidad más candente

C++ in Windows Phone Apps - Overview
C++ in Windows Phone Apps - OverviewC++ in Windows Phone Apps - Overview
C++ in Windows Phone Apps - Overview
Mirco Vanini
 

La actualidad más candente (7)

Microsoft .Net Framework
Microsoft .Net FrameworkMicrosoft .Net Framework
Microsoft .Net Framework
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDK
 
C++ in Windows Phone Apps - Overview
C++ in Windows Phone Apps - OverviewC++ in Windows Phone Apps - Overview
C++ in Windows Phone Apps - Overview
 
Deep Dive into WinRT
Deep Dive into WinRTDeep Dive into WinRT
Deep Dive into WinRT
 
Best DotNet Training in Delhi
Best   DotNet Training  in DelhiBest   DotNet Training  in Delhi
Best DotNet Training in Delhi
 

Destacado

Решения для агропромышленных предприятий
Решения для агропромышленных предприятийРешения для агропромышленных предприятий
Решения для агропромышленных предприятий
systemgroups
 
м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...
м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...
м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...
Павел Барышников
 
П.Н. Барышников Философия It и мифы современного университета
П.Н. Барышников Философия It и мифы современного университетаП.Н. Барышников Философия It и мифы современного университета
П.Н. Барышников Философия It и мифы современного университета
Павел Барышников
 
Reactive Extensions for .NET
Reactive Extensions for .NETReactive Extensions for .NET
Reactive Extensions for .NET
Andrei Marukovich
 
Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)
nhok_lovely
 
Решения для металлургии
Решения для металлургииРешения для металлургии
Решения для металлургии
systemgroups
 
The Differences in Attitude toward Education in UK and HK
The Differences in Attitude toward Education in UK and HKThe Differences in Attitude toward Education in UK and HK
The Differences in Attitude toward Education in UK and HK
conteura
 

Destacado (17)

Решения для агропромышленных предприятий
Решения для агропромышленных предприятийРешения для агропромышленных предприятий
Решения для агропромышленных предприятий
 
Sharonov paper
Sharonov paperSharonov paper
Sharonov paper
 
All about data persistence in Windows 8
All about data persistence in Windows 8All about data persistence in Windows 8
All about data persistence in Windows 8
 
Deceptive simplicity of async and await
Deceptive simplicity of async and awaitDeceptive simplicity of async and await
Deceptive simplicity of async and await
 
м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...
м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...
м.а. шаронов к вопросу о моделировании когнитивных функций при проектировании...
 
Easter sunday 2013 [compatibility mode]
Easter sunday 2013 [compatibility mode]Easter sunday 2013 [compatibility mode]
Easter sunday 2013 [compatibility mode]
 
П.Н. Барышников Философия It и мифы современного университета
П.Н. Барышников Философия It и мифы современного университетаП.Н. Барышников Философия It и мифы современного университета
П.Н. Барышников Философия It и мифы современного университета
 
Battlegraph
BattlegraphBattlegraph
Battlegraph
 
Reactive Extensions for .NET
Reactive Extensions for .NETReactive Extensions for .NET
Reactive Extensions for .NET
 
иллюзия субъективного опыта или отсутствующее сознание
иллюзия субъективного опыта или отсутствующее сознаниеиллюзия субъективного опыта или отсутствующее сознание
иллюзия субъективного опыта или отсутствующее сознание
 
Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)
 
ATDD in practice
ATDD in practiceATDD in practice
ATDD in practice
 
Решения для металлургии
Решения для металлургииРешения для металлургии
Решения для металлургии
 
The Differences in Attitude toward Education in UK and HK
The Differences in Attitude toward Education in UK and HKThe Differences in Attitude toward Education in UK and HK
The Differences in Attitude toward Education in UK and HK
 
Using NuGet libraries in your application
Using NuGet libraries in your applicationUsing NuGet libraries in your application
Using NuGet libraries in your application
 
Open Source Libraries for.NET developers
Open Source Libraries for.NET developersOpen Source Libraries for.NET developers
Open Source Libraries for.NET developers
 
Intro and History of Account Planning
Intro and History of Account PlanningIntro and History of Account Planning
Intro and History of Account Planning
 

Similar a A Developer's View of Windows 8

Windows 8 Development Stack
Windows 8 Development StackWindows 8 Development Stack
Windows 8 Development Stack
Dev2
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Gabriel Villa
 
Windows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heavenWindows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heaven
Noam Sheffer
 
Dot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement onlineDot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement online
Garuda Trainings
 
Porting tometro
Porting tometroPorting tometro
Porting tometro
dogra09
 
Win8 architecture for developers
Win8 architecture for developersWin8 architecture for developers
Win8 architecture for developers
Robert MacLean
 

Similar a A Developer's View of Windows 8 (20)

Windows 8 Development Stack
Windows 8 Development StackWindows 8 Development Stack
Windows 8 Development Stack
 
Win rt fundamentals
Win rt fundamentalsWin rt fundamentals
Win rt fundamentals
 
Windows 8 developer preview
Windows 8 developer previewWindows 8 developer preview
Windows 8 developer preview
 
Introduction to Metro Applications
Introduction to Metro ApplicationsIntroduction to Metro Applications
Introduction to Metro Applications
 
Windows 8
Windows 8Windows 8
Windows 8
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
 
Geek a-paloozaaa metro-xaml_appdev
Geek a-paloozaaa metro-xaml_appdevGeek a-paloozaaa metro-xaml_appdev
Geek a-paloozaaa metro-xaml_appdev
 
Introduction to building apps for windows 8
Introduction to building apps for windows 8Introduction to building apps for windows 8
Introduction to building apps for windows 8
 
Windows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heavenWindows 8 and the cloud a match made in heaven
Windows 8 and the cloud a match made in heaven
 
Dot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement onlineDot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement online
 
Windows 8 App Developer Day
Windows 8 App Developer DayWindows 8 App Developer Day
Windows 8 App Developer Day
 
Porting tometro
Porting tometroPorting tometro
Porting tometro
 
Eco system apps
Eco system appsEco system apps
Eco system apps
 
.Net + novas tecnologias + win8
.Net + novas tecnologias + win8.Net + novas tecnologias + win8
.Net + novas tecnologias + win8
 
Building apps with common code for windows 8 and windows phone 8 (WP8)
Building apps with common code for windows 8 and windows phone 8 (WP8)Building apps with common code for windows 8 and windows phone 8 (WP8)
Building apps with common code for windows 8 and windows phone 8 (WP8)
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
 
Windows 8 & JavaScript
Windows 8 & JavaScriptWindows 8 & JavaScript
Windows 8 & JavaScript
 
Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]
 
Win8 architecture for developers
Win8 architecture for developersWin8 architecture for developers
Win8 architecture for developers
 
Keynote Rockford Lhotka on the Microsoft Development Platftorm
Keynote   Rockford Lhotka on the Microsoft Development PlatftormKeynote   Rockford Lhotka on the Microsoft Development Platftorm
Keynote Rockford Lhotka on the Microsoft Development Platftorm
 

Último

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

Último (20)

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
 
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 ...
 
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
 
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​
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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...
 
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...
 
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
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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)
 
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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 

A Developer's View of Windows 8

  • 1. A Developer's View of Windows 8 Andrei Marukovich andrei.marukovich@lunarfrog.com @taggedfrog
  • 2. Agenda • Developing for Classic Desktop • Introduction to Metro UI • Building Metro applications 2
  • 4. Windows 8 platform HTML / C# / VB JS C / C++ or SL Metro-style APIs CLR Internet Win32 Explorer Windows Kernel Services 4
  • 5. .NET 4.5 Framework • Pre-installed in Windows 8 • Windows XP is not supported • Use 4.0 runtime (same as 3.5 use 2.0 RT) 5
  • 6. Asynchronous development • New data structures • New async APIs • New keywords in C# and VB • async • await 6
  • 8. If it runs on a Windows 7, it'll run on Windows 8 PC 8
  • 10. App suspension • Inactive apps are suspended by the OS: • Apps remain in memory • No CPU, Disk or Network consumed • All threads are suspended 10
  • 11. App lifecycle states Not started Running Suspending Suspended 11
  • 13. Windows 8 platform HTML / C# / VB JS Languages C / C++ or SL WinRT APIs CLR Internet Communication Graphics/Media Devices Win32 Explorer Application Model Windows Kernel Services 13
  • 14. WinRT • Object-oriented Win32 replacement • Native, written in C++ • Based on COM • .NET-like metadata • Any language can be used to extend it • Async everywhere (50ms rule) 14
  • 15. Windows 8 platform HTML / CSS DirectX XAML HTML / C# / VB JS C / C++ JavaScript C# / VB or C / C++ IE 10 Engine CLR SL WinRT APIs CLR Internet Communication Graphics/Media Devices Win32 Explorer Application Model Windows Kernel Services 15
  • 16. .NET Metro profile • Subset of Client Profile • No Remoting • No System.Data • No System.Web • No private reflection, no Emit • Some APIs replaced with async versions • Some .NET classes moved to WinRT 16
  • 17. XAML for Metro • New variation of XAML, close to Silverlight • Standard controls • Button, TextBox, ComboBox, CheckBox, etc. • New controls • ProgressRing • FlipView • GridView • ListView 17
  • 18. Demo • Image Browser • Scans Pictures library and shows all the keywords • Allows to select a keyword • Shows all the images for the keyword • Snapping • Search integration • FilePicker integration 18
  • 20. App packaging • .appx file format (zip) Files / Assets • Compiled app and resources • App Manifest AppXManifest.xml • BlockMap BlockMap • Digital signature Signature .appx package 20
  • 21. Installation • Declarative approach • Everything installed in one folder • Installation is on per-user basis • Installation for first user • Registration for the next • No custom actions • Automatic updates 21
  • 22. How to start • Main start point: http://dev.windows.com/ • Samples • Metro style app reference and APIs • Forums • Windows 8 Developer Preview with developer tools (x64) • Installation on a VM • VirtualBox 4.1.2+ • VMware Workstation 8.0+ • Hyper-V 22
  • 23. Links • BUILD conference videos • http://channel9.msdn.com/Events/BUILD/BUILD2011 • 8 Traits of Great Metro Style Apps (Jensen Harris) • Building Windows 8 blog • http://blogs.msdn.com/b/b8/ 23