標籤:跨平台 app uwa windows應用 windowsapp xaml
作業系統及SDK作業系統
如果打算開發Windows App,那麼你的電腦就不能再用老舊的Windows 7了。推薦使用Windows 8.1。寫這篇部落格的時候,我用的作業系統是Windows 10 Pro Technical Preview [Build 10041].
作業系統除了在官網下載之外,還可以在DreamSpark等地方下載。DreamSpark上除了Office其他微軟作業系統、開發工具及其他軟體對學生均免費開放。
另外再推薦一個網站:MSDN i tell you
Visual Studio
Visual Studio 系列作為最強大的開發工具,學習Windows App開發自然也是少不了的。Visual Studio 也可以上面的MSDN i tell you下載。
另外由於這個部落格系列主要方向是Windows App(以往稱為Universal Windows App,簡稱UWA),所以我用的SDK依然是預覽版——Visual Studio 2015 Preview [CTP 6]。
安裝疑難
安裝Visual Studio 2013/2015 出現藍屏時,將網卡驅動卸載掉重新安裝即可,這種情況尤其出現在Visual Studio 2013早先版本以及用校園電信網的情況下。
大家如果遇到什麼問題,歡迎留言。
瞭解Windows AppC#
C#是微軟主推的程式設計語言,也是Windows App最合適的開發語言,因此這個系列的博文統一用C#來講解。下面來簡要講解相關的架構。
開發Windows App,可以用Windows XAML(C#、C++和VB)、WinJS(HTML+JavaScript)、DirectX(C++)。而Silverlight(C#和VB)是WP所專屬的。
XAML
Extensible Application Markup Language(簡稱XAML,發音為Zamel)是WPF的一部分,其文法類似於HTML,它們都是“標記語言”。我是先學的XAML後學的HTML,一開始還很喜歡這種語言——它沒有一大堆的“;”。XAML本質上屬於一種.NET程式設計語言,屬於通用語言執行平台(Common Language Runtime,簡稱CLR)。
看到很多的教程等上都在一開始便講解了xmlns等命名空間,我覺得這樣不太合適,畢竟現在根本用不到,因此也記不住,等到需要的時候自然會印象深刻。
跨平台 app
其實我覺得“跨平台 app“這個名字顯然更加合適,更加側重”通用“的特點。其能夠在所有的Windows平台上運行,不僅僅是PC、平板、手機,甚至還有Xbox。能夠在多個平台共用大部分的代碼,使其能夠一次開發,在多平台運行。
我很看好這個策略,但最近一直有各種新聞說Windows 10可能要相容安卓應用,真心不希望微軟這樣做,最起碼安卓和Win8乃至Win10的設計風格都不搭邊。
動手建立第一個應用建立工程
如果不是裝的固態那麼安裝的過程會是非常漫長的,請大家耐心等待。裝好之後搓搓手就可以開工啦。
Ctrl+Shift+N直接呼出建立項目視窗。
建立完成後再解決方案管理器中會是如下樣式:
如果沒有顯示出解決方案管理器,可以按Ctrl+W,S。或者也可以在最上面的工具列中點擊視圖(View)。在Solution ‘WindowsApp1’上右鍵可以繼續再建立第二個項目。
中所示,共有3個部分:
1)WindowsApp1.Windows (Windows 8.1)
2)WindowsApp1.WindowsPhone (Windows Phone 8.1)
顯然這兩個分別是Windows應用中的Windows 8.1 和Windows Phone 8.1部分。其下又有:
Properties:應用相關的一些版本號碼等。
References:引用,主要是用來引用第三方的東東,比如廣告啦。
Assets:可以將App所用到的素材資源等放在這個檔案夾中。
MainPage.xaml:XAML代碼就是在這裡寫的哦,C#代碼需要在點擊MainPage.xaml左邊的三角形後出現的MainPage.xaml.cs檔案中寫。
Package.appxmanifest:應用程式套件的一些清單,後面用到的時候再細講啦。
剩下一個就是相關的認證了。
3)WindowsApp1.Shared
這個就是Windows App(跨平台 app)的精髓啦,比如可以把類、資源檔等放在這裡啦。
偵錯工具
在這裡可以設定調試Windows 8.1應用還是Windows Phone 8.1應用。
在這裡可以選擇在本機調試或者虛擬機器中調試。
動手操作
在MainPage.xaml中寫下以下代碼:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <TextBlock Name="tblock" Text="" FontSize="50" Foreground="Red" Margin="173,78,940,498"/> <Button Name="btn" Content="顯示名字" Click="btn_Click" Width="155" FontSize="25" Height="90" Margin="170,286,0,392"/> </Grid>
只用到了兩個TextBlock和Button兩個控制項,其中的屬性:
Name:控制項的名字
Text:TextBlock控制項顯示的文本
FontSize:字型
Width和Height:寬和高
Margin:邊距,具體用法在後面的部落格中會有介紹
Content:內容,此時會顯示在Button控制項上
Foreground:字型顏色
還有一個事件:
Click:點擊事件
用滑鼠雙擊btn_Click後按F12可以快速在C#檔案中產生相應的函數。
然後本機電腦或虛擬機器上調試就可以啦。
Visual Studio 小技巧行號
能夠看到自己寫了多少行代碼,無疑會讓自己更加有成就感。
點擊工具列上的”工具(Tools)“,然後再點擊”選項(Options)“,點開”文字編輯器(Text Editor)“,選擇”所有語言(All Language)”,勾上行號即可。
快速鍵
自動對齊:Ctrl+K,Ctrl+F
注釋代碼:Ctrl+E,Ctrl+C
清除代碼注釋:Ctrl+E,Ctrl+U
視圖
1)學習開發時,視圖中的“物件瀏覽器”是非常有用的。
2)可以將工具箱中的控制項直接拉入MainPage.xaml的設計器中。這也就是傳說中的“所見即所得 (WYSIWYG)”。
3)屬性,點擊一個空間後點擊屬性視圖,可以設定其的屬性和事件。
好啦,這篇部落格到這裡就結束咯,下一篇再見!
【萬裡征程——Windows App開發】開發準備