關於Vista API開發趨勢方面的文章

iDotNetSpace發表於2008-09-11

 明年11月,微軟新一代的作業系統Vista就會發布,它將會改變原有的程式設計機制。
 
        Vista生成器最終將跟以前的Win32 API(Application Programming Interface,應用程式程式設計介面)進行分離,取而代之的是可管理的WinFX,而WinFX就是微軟繼DOS、Win16、Win32之後推出的第四代API。據外刊報導,以前利用Win32 API開發的軟體,在微軟承諾的維護期之後將不能執行。

  Win 32 API歷經Windows 95到XP,受到眾多應用軟體開發商的追捧。過去,無論是最常用的字處理、電子郵件、即時通訊軟體,還是專業的防毒、ERP軟體等等,大都利用微軟提供的API進行開發,這樣能省去直接跟系統資源、硬體打交道的麻煩。微軟提供了近7.8萬個Windows API以及大量的輔助開發工具,這種友好的姿態讓無數開發人員甘願在微軟平臺上創造各種應用軟體。但另一方面,微軟又通過API“控制”了軟體的開發,幫助自己成就了霸主地位。然而,在Win32 API逐漸淡出人們的視野後,新一代的API還能如微軟設想的那樣延續Win32時期的輝煌嗎?

  挑戰來自網際網路

  事實上,微軟首先要迎接的便是網際網路所帶來的挑戰。在最近舉行的“Zend/PHP展會”上,Google副總博思沃斯稱,計算的力量正在由專有技術、微軟的API轉向Web上的連結和內容。他認為,10年前,API意味著控制,但目前佔有主導地位的是連結。“在目前的這個世界上,API就是連結。”儘管博思沃斯有意跳過了應用軟體最終都要跟硬體打交道這一事實,但也說明一種真實的現象:隨著網路的興起,技術不再讓使用者、投資人和軟體開發商有多大興趣,如何利用已有的技術提供多樣化的服務才是關注的焦點。正如博斯沃斯所預測的,微軟的API似乎有被邊緣化的趨勢。

  軟體的消費需求變了,應用軟體開發商隨之而變。過去在C/S(客戶端/伺服器)模式下,軟體由開發人員根據客戶的需求,制訂開發計劃,然後呼叫作業系統API來實現,最後部署到客戶的終端和伺服器上。現在,軟體開發正在經歷著從C/S結構到B/S(瀏覽器/伺服器)結構的變革,軟體可以不用部署到客戶端,使用者只要上網開啟瀏覽器就可以實現需求。

  “在企業級應用上,”大唐軟體總經理助理兼規劃諮詢部經理陳彬說,“採用B/S開發的軟體對客戶端的要求降低了,(軟體)大部分功能,包括介面控制元件,都放到應用伺服器上部署和共享。”一旦一切操作都在網路上完成,實現這些操作的軟體就不用像以前一樣必須安裝在客戶端上,也就不必再呼叫桌面作業系統的API,而是把與硬體裝置打交道的煩瑣工作交給中介軟體或伺服器去處理,這樣,桌面作業系統API的生存空間不得不面臨挑戰。

  在B/S模式下,變的不僅是軟體開發的方式,軟體開發人員也在變。新一代的程式設計師對Windows API的瞭解也大不如前,博思沃斯表示他們更多地使用PHP、LAMP組合(Linux、Apache、MySQL、Perl/PHP/Python)。這一點從人力資源的供求關係也可以看出。據紐約市人力資源調查顯示,Windows API程式設計師的數量遠不如從前,所以遇到需要Windows API開發人員時,這些程式設計師的身價可以達到13萬美元/年,而近年來人數急增的網路開發人員卻只能掙到8萬美元的年薪。

  不過,不同的應用軟體開發產商對此有不同的解讀。“防毒安全產品,在補足系統安全性時,需要儘可能地貼近作業系統,”趨勢科技高階產品管理與技術顧問齊軍介紹說,安全應用產品不僅需要與微軟互相開放API,“實際上,為了更好地保護系統,對微軟API的依賴很大。”儘管WinFX的前途不明朗,但在安全等跟作業系統聯絡緊密的領域,WinFX勝算還是很大。只是在CRM、ERP等注重客戶業務開發的領域,隨著B/S開發模式的漸漸普及,將逐漸淡化對作業系統API的需求。

  出擊,微軟求變

  微軟已經看到了這些威脅。所以,Vista出來了,帶著全新的WinFX。

  沒有全新的技術,就不會有震撼的軟體。微軟的WinFX已經把繁雜的Win32 API減少到8千個左右,在.NET框架下采用可管理程式碼程式設計模式,跟底層系統資源的關係更密切,能自動管理如記憶體等,減輕程式設計師的負擔。另外,WinFX還加入全新的圖形使用者介面子系統Avalon、檔案子系統WinFS和網路服務通訊子系統Indigo,使得開發環境更加友好。據Gartner預測,這些技術表明微軟的API發生了巨大的改變,Win32 API終將被WinFX替代,而成為新作業系統中的遺產,正如Win32取代DOS和Win16一樣。

  儘管WinFX代表微軟應用程式設計的重大進步,但Gartner認為這是有代價的。在一段時間內,程式設計師還可以繼續使用Win32 API開發應用程式,不過利用WinFX開發的程式並不向下相容,只能在Vista平臺上執行。而且,Vista作業系統帶來的變化和WinFX開發者框架遲早將會刺激開發者轉向.NET框架,因此開發人員應當儘早掌握.NET框架可管理編碼的技能,才能應付在2008年全面使用WinFX時會出現的種種問題。

  當然微軟不會忘記自己的霸主地位也來自於應用程式開發人員的貢獻。所以,提供更好的開發工具、指南和大規模的宣傳培訓必不可少。隨Vista一併提供的 SDK(軟體開發者工具包)含有一套使用者介面元件和行為,微軟稱新的Vista SDK將過去分散的工具、工具包和技術內容組合在一起,能支援端到端Windows客戶開發。微軟也準備了一系列能讓開發人員熟悉和提高使用WinFX的活動,如Windows硬體工程大會等。

  微軟對自己的各種努力一向很自信。在最近一次專業開發人員大會(PDC05)上,微軟宣佈由三十多家獨立軟體供應商(IRV)已經確認將發行新的適用於Vista作業系統的應用軟體。微軟認為這是業界對微軟下一代作業系統的熱烈回應。從 2002 年就開始對微軟下一代作業系統投入特別關注的Windows SuperSite專家 Paul Thurrott表示,微軟把這些技術提供給現有的使用者可以擴充套件 Avalon 和 Indigo 技術的市場,鼓勵開發人員儘快的接納這些技術。這樣,WinFX 便能夠更快的達到 Win32 API 幾十年才達到的高度。

  但火速躥起的競爭對手們並不想把下一個十年再留給微軟。在API的爭奪戰中,開源作業系統Linux所提供的免費API幾年來在歐洲不斷攻城掠地;在API之外,Sun公司力推的J2EE平臺,也讓年輕的客戶端軟體開發人員根本不用去了解Windows API;近段時間以來,Google舉起“網路服務”的大旗,不斷推出如Froogle購物、Gmail等免費的網路應用,直接威脅到利用微軟API開發的各種應用軟體。而微軟當然也在Vista的一再而三的調整中努力尋求著對自己最為有利的方法。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-442872/,如需轉載,請註明出處,否則將追究法律責任。

相關文章