第二章 如何編譯Longhorn程式
對於經典的Make檔案,我是從來沒有嘗試過去理解--太古怪的文法。當然對於Make文法的古怪和難用終於有人站出來了,那就是Ant--使用XML的簡單結構輕鬆的把各種關聯關係搞定了。因為Ant最初是基於Java開發的,後來有人移植開發了一個.NET版本的NAnt。不過根據微軟的一貫作風,肯定不領情,還要自己搞一套出來,不僅完全模仿還搞了一點創新(製造自己的優勢和標準)。
好啦,微軟的這個東東就是MSBuild。既然是跟Ant類似的,所以也沒有什麼好介紹了的。我們繼續往下看。
第三章 控制項和XAML
你可以把XAML跟HTML進行類比,但是XAML走得更進了一步。首先,使用XAML的對象跟程式語言如C#用到的對象是完全一樣的,甚至名字也是一樣的。這樣你就不必學習兩套類庫了,而以前使用HTML和普通的Win32函數是完全不同的。這也是因為使用了.NET平台帶來的好處吧。
使用XAML這種標記性語言來進行排版,並可以跟不同的工具之間方便的進行整合,大家產生的結果都用XAML來表示,互操作得到了極大的提高。
使用XAML不僅僅可以產生普通的控制項,甚至可以產生簡單的點、線和面,還能控制畫筆,畫刷以及座標變換----已經可以完成以前必須由代碼才能完成的工作。在這裡,我們也看到了W3C的SVG和SMIL等標準的痕迹,只是微軟用自己的一套來實現了。
記得前些日子看過關於微軟新的介面編程介面Avalon的介紹,完全是建立了新的渲染模型,而不是以前舊的方式。以前,因為顯存的限制,為了完成渲染工作,應用程式不得不每次響應WM_PAIN訊息更新被刷掉的部分。而當要重新整理的部分有很多層次的時候,就很麻煩,要實現如半透明、不規則視窗之類的效果都很麻煩--做過這方面工作的人一定深有同感。好啦,現在的電腦顯存已經今非昔比了,而平時如果不玩遊戲的話,按照以前的顯示模式,大部分的顯存都在空閑著。現在Avalon要改變這種局面了,新形勢下要有新的做事方法。我們可以為應用程式保留整塊的顯存,為不同的層級分別存放,並且可以不用Bitmap的方式儲存(使用XAML的對象),這樣子應用程式就不用不停的響應WM_PAIN訊息了----只要在開始的時候產生整個的物件模型(XAML物件模型),剩下的工作就是讓系統去自動完成!比如要顯示一個網頁,一次性產生整個網頁,而不是知產生視窗可見大小部分--省事了不少!
另外還有文檔的顯示,視窗上的文字可以根據螢幕的解析度,字型和視窗大小等自行適應,應用程式無需去幹預。如果文字需要顯示多頁,而你又不想通過捲軸的方式上下滾動,可以讓系統自動進行分頁,然後象書本一樣一頁頁的翻。
可以肯定,以後的應用程式一定做得像雜誌一樣漂亮,而且互動性特強,想來Flash的好日子不多了。