應(yīng)用編程之應(yīng)用體系結(jié)構(gòu)
了解 Windows 應(yīng)用商店應(yīng)用的編程選項(xiàng)。
概述
從 Windows 8 開(kāi)始,有很多選項(xiàng)可用于 Windows 應(yīng)用商店應(yīng)用的編程。
你可以使用以下任意編程語(yǔ)言來(lái)創(chuàng)建應(yīng)用:
- JavaScript 和 HTML5
- C# 和可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言 (XAML)
- Microsoft Visual Basic 和 XAML
- Visual C++ 組件擴(kuò)展 (C++/CX) 和 XAML
- C++/CX 和 Microsoft DirectX
Microsoft Visual Studio 和 Blend 完全支持所有這些語(yǔ)言的設(shè)計(jì)、開(kāi)發(fā)和調(diào)試。請(qǐng)根據(jù)你的經(jīng)驗(yàn)以及正在開(kāi)發(fā)的應(yīng)用的適用情況,為你的應(yīng)用選擇語(yǔ)言。
應(yīng)用模型體系結(jié)構(gòu)
每種編程語(yǔ)言都有一個(gè)對(duì)應(yīng)的應(yīng)用模型。應(yīng)用模型是一套表達(dá)了實(shí)現(xiàn)體系結(jié)構(gòu)的文件和設(shè)計(jì)模式。應(yīng)用模型之于應(yīng)用程序設(shè)計(jì)相當(dāng)于數(shù)據(jù)模型之于數(shù)據(jù)庫(kù)設(shè)計(jì)。
應(yīng)用模型的特征體現(xiàn)在大量的特色功能,例如代碼中的應(yīng)用入口點(diǎn)、解決方案中的文件布局以及呈現(xiàn)技術(shù)。
入口點(diǎn)
應(yīng)用的入口點(diǎn)是指系統(tǒng)為開(kāi)始運(yùn)行你的應(yīng)用代碼而調(diào)用的函數(shù)或方法。入口點(diǎn)取決于編程語(yǔ)言。默認(rèn)情況下,Visual Studio 項(xiàng)目模板定義了應(yīng)用模板體系結(jié)構(gòu),如下表所示。顯然你可以自由地對(duì)這些默認(rèn)值進(jìn)行自定義,但只有資深的開(kāi)發(fā)人員才應(yīng)嘗試這樣做。
此表顯示了每個(gè)應(yīng)用模型的入口點(diǎn)及其默認(rèn)文件位置。
呈現(xiàn)技術(shù)
應(yīng)用模型的呈現(xiàn)技術(shù)定義了應(yīng)用的外觀和給人的感受。你可以使用這些不同的技術(shù)來(lái)創(chuàng)建 Windows 應(yīng)用商店應(yīng)用:XAML、HTML5 和 DirectX。此表顯示了你可以結(jié)合特定呈現(xiàn)技術(shù)使用的編程語(yǔ)言。
編程語(yǔ)言 | 呈現(xiàn)技術(shù) |
---|---|
C#/Visual Basic | XAML |
JavaScript | HTML5 |
C++/CX | XAML、DirectX 和 XAML/DirectX 互操作 |
資產(chǎn)
Windows 應(yīng)用商店應(yīng)用所需的資產(chǎn)包括四個(gè)圖像,分別命名為 Logo.png、SmallLogo.png、SplashScreen.png 和 StoreLogo.png。
應(yīng)用模型 | 資產(chǎn)位置 |
---|---|
JavaScript | 圖像文件夾 |
C#/Visual Basic | 資產(chǎn)文件夾 |
C++/CX 和 XAML | 資產(chǎn)文件夾 |
C++/CX 和 Direct3D | 資產(chǎn)文件夾 |
異步編程
應(yīng)用模型 | 異步 |
---|---|
JavaScript | Common JS Promises/A |
C#/Visual Basic | async/await 關(guān)鍵字 |
C++/CX | 任務(wù)類 / IAsyncOperation |
創(chuàng)建 Windows 應(yīng)用商店組件
你可以將你的代碼納入適用于 Windows 應(yīng)用商店應(yīng)用、名為“Windows 運(yùn)行時(shí)組件”的可重復(fù)使用的組件。Windows 運(yùn)行時(shí)組件必須遵守特定的接口要求。你可以使用 C#、Visual Basic 或 C++/CX 應(yīng)用模型創(chuàng)建 Windows 運(yùn)行時(shí)組件,但不能使用 JavaScript 來(lái)創(chuàng)建。對(duì)于 JavaScript,需要通過(guò)將代碼納入你在其他項(xiàng)目中所包含的文件來(lái)創(chuàng)建可重復(fù)使用的模塊。
你不能創(chuàng)建獨(dú)立的、可重復(fù)使用的軟件庫(kù)以用于在 Windows 應(yīng)用商店中進(jìn)行分發(fā)??芍貜?fù)使用的庫(kù)必須附加于某個(gè)應(yīng)用。
有關(guān)詳細(xì)信息,請(qǐng)參閱“創(chuàng)建 Windows 運(yùn)行時(shí)組件”。
封裝和部署
通過(guò)使用 Visual Studio 中的部件清單設(shè)計(jì)器來(lái)封裝你的應(yīng)用以進(jìn)行部署。部件清單設(shè)計(jì)器提供一個(gè)簡(jiǎn)單的用戶界面用于更改應(yīng)用部件清單 (manifest) 文件中的設(shè)置,名為 Package.appxmanifest。此過(guò)程與所有應(yīng)用模型的過(guò)程相同。
有關(guān)詳細(xì)信息,請(qǐng)參閱“應(yīng)用封裝和部署”以及“從 Visual Studio 部署 Windows 應(yīng)用商店應(yīng)用”。
將應(yīng)用上載到 Windows 應(yīng)用商店
所有語(yǔ)言均可使用 Windows 應(yīng)用商店組件。你可以使用除 JavaScript 以外的任何編程語(yǔ)言創(chuàng)建組件。
原文鏈接:http://msdn.microsoft.com/library/windows/apps/br211361.aspx