一窺微軟下一代視窗作業平台-Longhorn

資策會數位教育研究所講師 于還莒

 

         微軟一年一度最重要的系統開發人員盛會PDC2003 (Professional Developers Conference)於10月下旬在美國洛杉磯舉行,這一次有三個產品主題:
            1.下一代的視窗作業系統平台,代號為Longhorn
            2.新版的SQL Server,代號為Yukon
            3.下一版的開發工具Visual Studio,代號Whidbey

         光看到這三個產品並陳,就要讓人停止呼吸。開幕第一天Bill Gates親自到場主推新的作業平台Longhorn,可見Longhorn應是這一次整個活動的主角,Longhorn將接替Windows XP及Windows Server 2003,將視窗使用及開發經驗推上一個新的里程。


         從現有的資料看來,這個平台不僅將在UI上影響End User Experience,亦將對視窗程式設計產生相當程度的影響,令人興奮期待。
事實上,Longhorn建構了一個新的開發平台WinFX,將Microsoft的API推向新的第四代,歷程如下:
                    DOS-->Win16-->Win32-->WinFX
        WinFX架構由四大部分構成:
            1.Fundmentals:這其中包括基礎及應用服務、系統安全、組態、佈署及管理等
            2.Presentation:與UI有關的部分,模組平台代號為Avalon(有沒有想起哪一款車)
            3.Data:資料服務部分,模組平台代號為WinFS
            4.Comunication:就是Web Services等相關通訊的介面,模組平台代號為Indigo(Architect是知名的Don Box)


「來源:Microsoft PDC 2003」


 

         從一個程式開發人員的角度看來,平台的整體感覺是讓程式設計更簡單,例如過去VB6時代及以前的視覺化視窗程式設計,大致上是利用Visual Studio等工具來設計畫面,整個專案的組成頗為複雜,目前的.NET採用完整的OO技術,共同的CLR,一樣的Name Spaces,因此不管是使用VB.NET或C#,要寫一個視窗程式,基本上只要用記事本打入幾行,Compile過就可以Run,物件條理分明,程式架構清晰。
        新的WinFX更進一步將與UI屬性有關的部分拉出來另存成一個XAML檔(觀念及長相很像HTML或ASPX),而程式的邏輯歸邏輯,儘量將程式碼的複雜度降低,而改以宣告性的XML格式取代,同時也易於修改及維護。在目前的.NET中只有ASPX的Web Form這樣做,未來連Window Form也會這樣做。
                  XAML舉例(來源:MSDN):
                  <Canvas xmlns="http://schemas.microsoft.com/2003/xaml"
                  Height="600" Width="800">
                  <Border Background="red"
                  Canvas.Top="0px" Canvas.Left="0px"
                  Height="100px" Width="100px" />
                  <Border Background="green "
                  Canvas.Top="100px" Canvas.Left="100px"
                  Height="100px" Width="100px" />
                  <Border Background="blue"
                  Canvas.Top="50px" Canvas.Left="50px"
                  Height="100px" Width="100px" />
                  </Canvas>

         另外在畫面的呈現上亦提供較精緻及彈性的控制,例如可以將過去正經八百的文字盒(Text Box)控制項以傾斜某個角度的方式顯示在表單中;向量圖形的處理亦使得視窗在縮放時,視窗內的圖形能平順地同步縮放,讓使用者有很舒服的視覺效果。

         活動的整個過程中,不再看到特別刻意去強調.NET平台,而由WinFX清楚分明的架構看來,微軟似乎正走逐漸走出敵我競爭的廝殺場景,在網際網路上構築一個新的無接縫(seamless)計算氛圍,並提供系統開發人員一個更高生產力的開發環境。

         Longhorn的發表可能會是在2004年,對一個視窗程式設計師而言,現在可以做什麼呢?
一、如果目前尚未升級到.NET,應該趕快升級,.NET已經不是什麼新技術,這個平台上產生的所謂Managed Code無論在開發、佈署及執行都有令人激賞的表現。
二、目前所撰寫的新程式,儘可能將UI及程式Logic切清楚,不管未來何時升級到WinFX都是好事。
三、開始接觸一些Longhorn的資訊,以為未來升級做準備。
 

         我家是那種落地的五扇鋁製拉門,平常進出只要拉其中的兩扇身體就過得去,其他三扇則很少拉它們,後來有一天想搬東西要拉開其他三扇時,發現輪子已經生鏽拉不動了。年輕時讀到書上的古人說:「戶樞不蠹,流水不腐」,當時只覺得理所當然,沒想到幾十年後的一朝竟然在自家的門上驚訝地體會了這種感覺。

         新的開發工具及技術讓許多程式設計師追得很辛苦,可是像微軟這種軟體界的Leading Company還要每天不斷地想研發什麼東西來讓人家追,無寧更為辛苦,如果想得不好,還有一堆人正在等他垮掉。

         為了不讓自已腐掉,追是一定要的,在PDC會場看到人來人往,吃個中飯光飯桌桌次的編號就編到七百多號,飯廳內幾乎看不到邊界,這些人也都在追,可能坐在你身邊吃飯的就是某個國家的super programmer,想想這些人都在各自的一個角落拼命,自詡為一個專業技術人員,我們是不是已經拼命了呢?