RIA之戰 開源策略將是微軟決勝的關鍵
近10年以來,人們一直在試圖尋找一個更好的Web開發的解決方案。最初是HTML和CSS,后來又有了AJAX和Web 2.0。但是因為HTML模型是基于頁面的模型,缺少客戶端智能機制,所以到目前為止基于HTML的Web應用程序對完成復雜應用方面始終跟不上步伐,整體的用戶體驗效果與桌面應用程序仍然有差距。
微軟和Adobe作為Web應用領域的兩大巨頭,主要是采用為Web應用程序植入插件的方式來鞏固Web戰略。近日,在美國舊金山舉行的開源大會(Open Source Business Conference)上,微軟在“Web為平臺”專家討論會上宣布了針對社區群體的RIA新開源策略,將公開其RIA技術Sliverlight 的源代碼。難道是巨人轉性,還是另有隱情?開源策略在微軟RIA戰役中扮演什么樣的角色?
一.開源RIA將引導微軟走向開源時代
(1)RIA將成為互聯網的主流
在互聯網誕生的時候,大家都在琢磨怎么把信息通過網絡主動發布出去,出于共享信息的簡單目的,一種快速小型超文本語言(HTML)被創建了。歷經了多次的修改和完善,眾多與Internet相關的技術紛紛出現,從DHTML、XML到Java Applet、SWT、AJAX、Flash等,這些技術有些是平行發展,有些是一脈相承。但毫無例外的都追求著一個共同的目標,就是更加強大、更高效反應、更加靈敏和更精彩的可視化特性的互聯網程序。
也就是說,在過去幾年中,Web開發人員一直想構建一種比傳統HTML更豐富的客戶端,要實現比用HTML實現的接口更加健壯、反應更加靈敏和更具有令人感興趣的可視化特性。這時,RIA技術出現了,它允許我們在互聯網上以一種像使用Web一樣簡單的方式來部署富客戶端程序。RIA是一種互聯網應用程序, RIA目前在很多地方既指富互聯網應用系統,又指富互聯網應用系統的開發技術,我們也可以將其理解為下一代互聯網的應用程序。
那么,RIA將來會成為互聯網的主流么?這是一個只有一個答案的問題,那就是“會”。因此,一場新的技術戰爭已經悄然在RIA領域打響了。毫無疑問,Adobe的Flash是RIA技術領域中最具優勢的選手,但是微軟借助Silverlight技術正在改變這種情況。例如,Silverlight可以運行在所有Web瀏覽器上,而不僅僅是微軟的IE瀏覽器;而且Silverlight還采用了打破微軟多年老規矩的開源策略。
(2)微軟開放Silverlight源碼,向開源社區示好
一直對開源吝嗇、不感冒的微軟居然也一反常態地對開源社區示好,公開其RIA技術Sliverlight 的源代碼,是巨人轉性還是另有隱情呢?這當然不能僅僅只用巨人轉性來解釋,也不是僅僅是因為 Adobe 宣稱將開放其用于 Flex RIA環境下的軟件開發包代碼的回應。據有關專家分析,微軟公布Silverlight技術的部分源代碼,以此表示對開源組織的友善態度,目的是為了籍此吸引開發社區的關注,更好地同Adobe展開競爭,更是其欲稱霸Web平臺領域的一種新姿態。因為居于 RIA 開發工具領先地位的 Adobe,也正希望借開放其 Flex 部分源碼來鞏固優勢,而作為挑戰者的微軟想要趕上 Adobe,當然也必須要借助開源來吸引開發者使用 Silverlight。
微軟此舉從策略上來講,可稱為是實現在網絡領域的一次飛躍。當然,開源并沒有微軟以前想的那么可怕,讓Silverlight開源反而將更有好處:它將極大地擴展 Silverlight 的市場,以最快的速度普及。當 Silverlight足夠普及時,微軟必定會看到更多的新利益。實際上,微軟的許多對手都是攜著開源的力量來與微軟競爭的,如Google 攜開源勢力強勢入侵微軟的多個傳統強勢領域,開源的 Firefox 又在不斷搶占微軟 IE 的市場份額,而這次 Adobe Flex RIA也打起了開源的主意,微軟終于坐不住了,也破天荒地宣布 Silverlight 的開源策略。對于未來的展望,我們有理由相信只要微軟嘗到了 Silverlight 開源的甜頭,微軟就可能會嘗試更多的開源計劃,這也可能會成為使微軟加入開源陣營的一個起點。
#p#
二.為什么微軟RIA需要采用開源策略?
在RIA市場中,選用哪家的工具,一直不是最關鍵議題,重點是在于開發者是在哪一個RIA生態環境中。因為為了確保RIA可與內部的核心系統相連結,一個認同某個RIA生態環境的企業決策主管,極可能會下達或建議開發人員選擇哪家的開發RIA工具。在這樣的狀況下,可以預見對RIA生態環境的認識和習慣將會成為Web開發決策的關鍵因素。
據Forrester公司的分析師表示,在RIA市場上兩大巨頭Adobe和微軟各具優勢。Flash先入為主,目前已經有了一個很大的市場,Flash技術已經應用于90%左右的PC上。微軟想要拉攏這些真正的市場推動者則要花上不小的力氣,而微軟在RIA技術Silverlight上應用開源策略正是出于拉擾這些市場推動者的考慮。那么,為什么微軟Silverlight 的發布與推廣需要采用開源策略呢?
(1)Web開發者需要培訓
從用戶體驗的角度來說,我們甚至還沒有發揮出HTML的全部潛力。因此,大部分開發者認為基于標準的Web開發還大有潛力可挖,通過加強設計者與開發者的聯系,Web產品的用戶體驗可以得到很大的提升。目前大部分Web應用還不能令人滿意,但是這個問題并不完全歸咎于瀏覽器的非標準實現,更多的是因為設計和開發者本身對Web技術的掌握還不到位。
一般來說,Web設計者往往感性些,通常是半技術性人員,喜歡定期購買和升級軟件產品。而開發者則更理性,是純技術性人員,賣給他們工具非常困難。和多數工程師一樣,開發者通常更喜歡自己創建工具,或者使用免費提供的開源工具。開發者之所以更接受開源,是因為開源可以讓他們控制自己使用的工具。因此,微軟只有通過開源的方式才有望追趕Adobe。
(2)做大RIA市場規模,需要更廣泛的協作
Adobe已推出多年的Flash技術與Flex工具是公認比較成熟的RIA解決方案,擁有絕大部分的市場占有率優勢;而微軟推出的Silverlight技術是挾程序開發領域的優勢,進入網頁應用市場。但為讓RIA市場更為蓬勃發展,則需要建立起更廣泛的RIA生態體系,這意味著微軟不能只依賴設計人員或開發人員等單一族群。所以,通過開源策略可讓RIA的開發人員和設計人員迅速理解RIA內部運行機制。因為就技術人員來說,開源可以極大的提高人員的技術水平,通過對開源的學習可以以最快的速度對很多基本的東西加以理解。
另外,開源技術的靈活性可使得它能夠比專有解決方案更易于添加更多自由和個性化的功能。這是因為開源技術的開發、測試和發布過程完全是透明的,同時提供的源代碼及完善的文檔,有助于開發者清楚地了解開源技術的工作原理和實現方法,也更容易得到質量更好的實現方案。這就保證了開源技術除功能上不遜于封閉源代碼的方案外,還具有更高的靈活性,以及更低的采購和使用成本。因此,開源能對整個RIA開發生態環境的技術發展起到極大的推動作用。
#p#
三.為什么開源策略是微軟決勝的關鍵?
為什么微軟要在RIA技術Silverlight上開源?對于這個問題,很大一部分人的觀點是認為微軟終于抵擋不住開源社區和競爭對手的種種壓力,最終被迫開放源代碼。但實情卻非如此簡單,實際上開源策略是對微軟的未來有著深遠的影響和戰略性的意義。
(1)開發社群活躍度成生存的關鍵
市場就是市場,大魚吃小魚的商場不是只認技術是否先進的,IT技術市場上的博弈使任何一個決策失誤后果都被放大。技術折騰不過市場,看看強勁如Delphi最終結果也是只能賤賣。那么,主宰RIA市場的關鍵因素是什么呢?我們也許無法預測。但正如上面所說,我們不能僅僅從技術方面來考慮,還需要更多的從市場來考慮,Delphi就是前車之鑒,市場不認技術和經典,它是殘酷無情的。
目前越來越多的軟件產品走入開源模式,事實也證明開源對于軟件產品的發展和開發者來說是雙贏的。我們有理由相信隨著Silverlight的開源,Silverlight開發者和愛好者可以通過閱讀和研究Silverlight的源代碼,更深入的理解Silverlight并進一步增強它,從而利用Silverlight開發出更多更出色的 RIA 應用程序。因此,對于Silverlight來說,只有有更多Web開發者的加入才能讓其擁有廣泛的用戶群體,才能加速Silverlight的普及。也就是說,開發社群活躍度將成為是否擁有更廣泛用戶群體的關鍵,也是一種技術能否生存的關鍵。
(2)微軟未來產品將立足于“網絡化”
微軟的 Windows 和 Office在臺式機應用程序開發領域贏得了極大的成功,但是在網絡方面微軟卻沒有什么優勢可言。隨著網絡的高速發展,各種基于網絡應用的市場前景也將越來越被看好。當微軟的對手們在網絡方面頗有建樹后,微軟肯定也不會對網絡這塊蛋糕猶豫不絕,它必定全力還擊,甚至會進行更多的轉型。而Silverlight 在桌面和瀏覽器的結合中可以扮演一個很好的角色,它可以完美地把桌面程序“網絡化”,這是未來的一個趨勢。
RIA技術Silverlight可以帶給用戶更豐富的“用戶體驗”,這是微軟目前和未來產品所需要的。例如,通過VB、C#、Python 等語言,微軟可以讓用戶在 Silverlight 的框架上使用最新版本的 Office 辦公軟件、OneCare 殺毒軟件等。也就是說,當未來所有的工作都趨向于網絡化時,一切微軟的程序都可以嵌入到RIA 平臺中,從而使到用戶獲得更好的界面效果、交互功能以及在線功能。因此,微軟著力進行RIA Silverlight 的開源宣傳和推廣,顯然也是看到了富客戶端技術的良好前景,而且Silverlight 的開源模式也正好符合網絡化模式的發展。
(3)開源社區開發人員眾多,更有創造力
現在有大量的開發人員加入到Web開發中來,而且這些Web開發人員大部分都活躍在全球的各種開源社區中。由于大家都在同樣的圈子,關注同樣的問題,于是自然而然的共享同樣的代碼,例如一些工具軟件、插件、本地化項目等。這種模式在Linux操作系統身上已經被證明是非常有效的,當發現一個很好的創意時,很快就會得到共享和分享,Web開發亦如此。當很多人為同一個目標努力工作時,那么這個目標是不是很快就會實現呢?簡單的說,我們只要想象一下集體智慧的巨大力量,就能讓我們為之激動。
總的來說,要想贏得RIA之戰,就需要提供更多的技術和資源推廣。在處于兩強爭霸的RIA戰役的轉折點之時,只有擁抱開源社區的力量,才可以讓微軟擁有贏得RIA戰爭的動力。開源,不但是微軟稱霸Web網頁開發的主動選擇,也是順應網絡模式潮流的選擇。至于開源后,微軟未來之路如何走,我們不防拭目以待。
想了解更多關于RIA的內容,歡迎訪問51CTO Web開發頻道
【編輯推薦】