Windows 8 的metro风格应用程序的开发编程和Windows phone 7是非常类似的,不过Windows 8对开发语言的支持是比Windows Phone 7强大很多,支持C++,C#和JavaScript,而Windows Phone 7只是支持C#,当然Windows Phone 8出来之后就会支持C#和C++的开发了。下面是Windows 8的编程体系图。

 

Windows 8 Hello World_第1张图片

其实Windows 8就是在Windows 7的基础上加上了metro的程序框架,通常所说的Windows 8的开发技术就是指Windows 8的metro程序开发。

1、Windows 8 整个系统分成了Metro style和Desktop两个体系,而WinRT则是全新的Metro应用程序架构的基础所在;
2、WinRT具备了多语言的支持能力,支持C++,C#,VB,JavaScript;
3、WinRT和Win32、.NET是相互独立的API体系;

4、WinRT是专门为触屏体验的全新的API。

 

下面来看一下一个C++的Windows 8的hello world程序

 

   
   
   
   
  1. //  
  2. // App.xaml.h  
  3. // App 类的声明。  
  4. //  
  5.  
  6. #pragma once  
  7.  
  8. #include "App.g.h"  
  9.  
  10. namespace HelloWorld_C__  
  11. {  
  12.     /// <summary> 
  13.     /// 提供特定于应用程序的行为,以补充默认的应用程序类。  
  14.     /// summary> 
  15.     ref class App sealed  
  16.     {  
  17.     public:  
  18.         App();  
  19.         virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ pArgs) override;  
  20.  
  21.     private:  
  22.         void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);  
  23.     };  

 

   
   
   
   
  1. //  
  2. // App.xaml.h  
  3. // App 类的声明。  
  4. //  
  5.  
  6. #pragma once  
  7.  
  8. #include "App.g.h"  
  9.  
  10. namespace HelloWorld_C__  
  11. {  
  12.     /// <summary> 
  13.     /// 提供特定于应用程序的行为,以补充默认的应用程序类。  
  14.     /// summary> 
  15.     ref class App sealed  
  16.     {  
  17.     public:  
  18.         App();  
  19.         virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ pArgs) override;  
  20.  
  21.     private:  
  22.         void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);  
  23.     };  

 

   
   
   
   
  1. App.xaml文件<Application 
  2.     x:Class="HelloWorld_C__.App" 
  3.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  4.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  5.     xmlns:local="using:HelloWorld_C__"> 
  6.  
  7.     <Application.Resources> 
  8.         <ResourceDictionary> 
  9.             <ResourceDictionary.MergedDictionaries> 
  10.  
  11.