對于參加微軟Build大會的開發(fā)者來說,有一個好消息和一個壞消息,好消息是Silverlight和.Net不會壽終正寢,壞消息就是他們主要只能用來開發(fā)傳統(tǒng)(或桌面)應(yīng)用,因為Metro應(yīng)用才是Windows 8的主流。這一點可以從Windows工程師Ales Holecek的演示文稿中一探究竟。
從下圖中可以看到,可以在Win 8系統(tǒng)的電腦和平板上開發(fā)和運(yùn)行的應(yīng)用程序能夠分為兩個部分。第一部分是Metro風(fēng)格應(yīng)用,屬于現(xiàn)代的場景化應(yīng)用程序(全屏運(yùn)行,注重視覺效果和用戶體驗),開發(fā)者開發(fā)Metro應(yīng)用程序時可以使用C、C++、C#、Visual Basic�6�7、HTML5/JavaScript及XAML。開發(fā)語言包含了XAML(可擴(kuò)展應(yīng)用程序標(biāo)記語言)就意味著Jupiter平臺,Jupiter是Window 8上的XAML/UI層,可以讓Silverlight和WPF(Windows Presentation Foundation)應(yīng)用都可以在該平臺運(yùn)行。
第二部分被稱作“桌面”應(yīng)用,用戶可以通過點擊Windows 8上的桌面圖標(biāo)來訪問程序,這些程序不一定是場景化的,它們可以與傳統(tǒng)Windows應(yīng)用類似,默認(rèn)用戶使用程序的首要方式不是觸摸屏幕。這種桌面應(yīng)用的典型例子就是Photoshop和Intuit。
微軟將Metro應(yīng)用視為未來的主流。如果你不相信的話,可以去看看本次Build大會的會議目錄,Build大會的許多分會主題都是關(guān)于培訓(xùn)開發(fā)者Windows 8的全新應(yīng)用程序模式,以及開發(fā)者如何使用HTML5和JavaScript開發(fā)全新的Metro應(yīng)用的。僅有很少分會提及了.Net、Visual Basic和C#。沒有任何分會涉及使用非微軟開發(fā)的工具和框架(例如PHP、Ruby)開發(fā)Windows 8應(yīng)用,也沒有關(guān)于Silverlight的分會。
這張演示文稿中還有一個有趣的內(nèi)容,那就是“系統(tǒng)服務(wù)(system services)”部分—WinRT(Windows runtime,用來構(gòu)建Metro風(fēng)格應(yīng)用的一系列API),有人已經(jīng)證實了Windows 8中存在WinRT。在我個人猜測,WinRT是通信、圖像和設(shè)備/打印服務(wù)的核心,將有可能替代Windows Communication Foundation(WCF)和Windows Presentation Foundation(WPF)。