Flash Builder能否為Adobe贏得RIA之戰
Adobe公司應該通過一個營銷計劃來游說開發者,并提供旨在滿足核心開發者興趣的產品,當然這個營銷計劃有別于它所熟悉的設計者營銷計劃。目標是利用有影響力的開發者社區來推動其產品的銷售。對Adobe和它的合作伙伴、客戶來說,RIA主導的可持續性、可獲利業務已經處于一個關鍵時刻。我認為,如果Adobe不能有效的與開發者交流,不能發現開發者市場的戰略價值,將導致它失去RIA之戰,并殃及其它的Adobe產品。
兩周前我參加了Adobe在舊金山舉行的FlexCamp大會,并與Adobe公司RIA產品相關的許多員工進行了交流,他們中包括工程師、管理人員、產品經理、主管和2個副總裁。下面重述一下我與Adobe公司工作人員的交談內容。
首先應該承認,Adobe Flash平臺目前所取得的成績已經非常優異:支持Web的應用軟件被廣泛使用并且易用性強。不幸的是,由于薄弱的系列開發工具,開發基于Flash的應用程序所花費的成本和時間遠遠高于理想情況。微軟卓越的系列工具為Silverlight提供了一個重要的優勢。相同技能前提下,使用Silverlight的開發人員可以比Flex開發人員具有高達數倍的開發效率。客戶也開始意識到,開發類似的項目,使用Adobe Flash平臺要比使用其它優秀RIA技術花費明顯更長的時間和更多的成本。
我是一個獨立軟件開發者,我的計時工資相對較高。我認為我的高工資與我為客戶創造價值的是相匹配的。除了收集需求和客戶反饋,我還把大量的時間用來編寫、編譯和測試Flex和Java代碼。為了保持競爭力,我必須不斷投入大量時間來研究軟件工具和更強大的計算平臺,同時還要選用恰到好處的方法和技術。我喜歡在Linux上開發,然后部署客戶端到Windows、Mac和Linux等系統上,而服務器端則部署在Linux服務器上。
Eclipse是一個非常棒的多用途IDE,包括服務器端的Java開發。不幸的是,不管是Flex Builder,還是更名后的Flash Builder,無論是作為一個獨立程序包安裝,還是作為Eclipse的插件使用,都未能顯示出類似的成熟性。如果你認為“Flex Builder 3” 或“Flash Builder 4”這樣的名稱代表一個更成熟的產品,實際上你被誤導了。假如現在有一個適度復雜性的Java項目,對比一下具有類似或略低復雜性的Flex項目,你會很快意識到Flex/Flash Builder的編譯時間明顯要長的多,而且Java程序員平常依賴的許多功能在Flash Builder中都沒有實現,或者實現的很差,或存在重大問題。
Flex Builder 3發布于2007年夏天,當時Eclipse的版本是3.3。自此之后也發布了許多細小版本,但是沒有任何新的重大功能。去年8月Linux版Flex Builder alpha版發布,但是下一個版本的發布日期一直未宣布。Flash Builder 4只有針對Windows和Mac系統的32位版本。Windows版的Flash Builder 4目前只有beta版,正式版預計在今年第四季度發布。如果一個產品的周期超過兩年,就意味著該產品相比那些與其交互的軟件已經過時了。
Flex編譯器的速度非常慢已經不是什么秘密。這個弱點影響了開發者在編寫和調試代碼時需要反復進行的編輯/編譯/調試過程。對于一個大型程序來說,進行一次修改、編譯和部署軟件,然后運行該程序到需要調試的狀態,可能需要花費5分鐘時間。開發者每天可能要無數次重復這一過程。當使用Eclipse進行Java開發時,一個叫做熱代碼替換(Hot Code Replace)的功能允許Java程序在一個斷點處暫停,在重新從棧幀(stack frame)開始執行程序前,可以對其進行細微修改。熱代碼替換省去了編輯/編譯/調試的循環過程,因此大大提高了開發效率。增加熱代碼替換功能到Flex/Flash Builder中,可能是有效提升開發效率的單一功能。當然,一個提速數倍的編譯器同樣也可以帶來開發效率的提高。Flash Builder 4中的編譯器明顯比以前版本快了很多,但是還不能與今天任何一個Java編譯器或任何微軟編譯器的速度相提并論。
Flex和其它RIA技術之間的一個關鍵區別是其跨平臺支持。與Java的“一次編寫,隨處運行”類似,Adobe將Flex的Flash運行環境作為RIA平臺選擇,以解決那些需要盡可能滿足更多用戶的需求。但是這種說法禁不住仔細推敲。舉例來說,Linux下64位版本的Flash播放器還處于測試階段,僅僅的一次更新是在今年2月10日。Linux開發者骨干非常多,其中包含許多有經驗的Java開發者。他們在開發者社區的地位比較高、影響比較大。Adobe缺乏可靠的Linux支持,已經成為這些關鍵技術精英不接受這個技術的重要原因之一。Flex和Flash不能簡單高效的運行在他們的主要開發環境中。
Adobe最初借助于OEM銷售的力量,最近幾年以來才通過Dreamweaver和Illustrator等產品面向圖形設計者。PDF銷售業務仍然保持良好,主要針對企業用戶。在Macromedia與Adobe合并之前,它們的產品線與Adobe的產品線在很多方面類似,某些產品甚至是直接競爭。 但是從歷史角度來看,無論是Macromedia還是Adobe都未能以一個有效的方式獲得開發者市場。直到最近,Adobe才做出了明智的決策。#p#
設計者和開發者有很大不同。在技能培訓、世界觀、興趣和購買模式方面兩者都不相同。設計者往往更感性,通常是半技術性人員,喜歡定期購買和升級軟件產品。而開發者則更理性,是純技術性人員;賣給他們工具非常困難。和多數工程師一樣,開發者通常更喜歡自己創建工具,或者使用免費提供的工具。開發者之所以更能接受開源,是因為開源可以讓他們控制自己使用的工具。設計者和企業用戶對開源一般持另外觀點。
開發軟件工具一般需要大量的投入,但是卻不太可能產生直接的投資回報。今天市場上多數成功的軟件工具一般支持其它業務種類。
◆微軟在自己的軟件工具中進行了大量投資,并且很好的將它們的工具與其它產品集成在一起。如果一個人需要為微軟平臺開發軟件,微軟的軟件工具通常是首選。與Windows和Office相比,微軟的軟件工具并沒有給微軟帶來更多凈收入,但是它們通過系統集成商和獨立軟件廠商推動了其他盈利性產品的銷售,例如其操作系統。
◆Eclipse也是一個投入大量時間和金錢的產品,最初由IBM推出。自從Eclipse誕生以來,就被投入了數百萬美元的開發資金。Eclipse和大部分Eclipse插件都是免費的。結果Eclipse成為開發者熱情用戶的一個強大、穩定和現代開發平臺。IBM的營銷戰略與微軟略有不同,但是IBM通過Eclipse給開發者社區帶來重大影響,已經通過建立在Eclipse上的產品和服務獲得收益。
◆其它曾經偉大的軟件工具公司,諸如Borland和賽門鐵克,或者倒閉或者終止了它們的軟件工具產品線,因為它們沒有通過這些開發者工具來推動盈利性更強產品的銷售。
Flash和Flex很明顯是Adobe產品戰略中的重要組成部分,但是Flex/Flash Builder的收益不能僅僅在于銷售它們所帶來的收入。類似的情況,Linux市場雖然相比Windows市場還非常小,但服務開發者是其戰略方向,同樣也給大型Windows和Mac市場的非開發者帶來了重大影響。Flash平臺可以成為推動諸如LiveCycle ES、LCDS和像企業門戶等尚未開發產品銷售的工具。這些企業解決方案將需要核心開發者,而他們期待更好的Linux支持。
綜上所述,有競爭力的RIA技術對開發者和他們的客戶非常具有吸引力。Silverlight 3正在逐漸贏得市場,這一點不令人奇怪:
◆Silverlight和Flex一樣也可以說是支持跨平臺的;JavaFX更是如此,因為它運行在Java虛擬機上;Ajax則提供最好的跨平臺支持;
◆Silverlight具有更完善的系列工具,因此基于Silverlight產品的開發成本和上市時間更少。
◆熟練的微軟開發者可以更輕松的學會使用Silverlight。盡管JavaFX Script完全不同于Java,但它運行在Java虛擬機上,并且可以無縫集成現有Java程序。
◆由于Flash和Flex依賴Windows作為其主要開發平臺,微軟對Flash平臺和它上面的開發者具有重大影響。通過我在Borland擔任產品銷售經理的體驗,我已經認識到Borland是多么容易受到微軟的傷害。Adobe當前的RIA戰略同樣如此。為Flash和Flex提供多樣化平臺支持,給Linux與Windows、Mac相同的重視,通過一種不以下季度利潤作為衡量標準的方式來改變游戲。
◆GWT和其它基于Ajax的產品具有來自開源和專有工具的強大支持,HTML 5正逐漸變為專有RIA平臺的一個強大競爭者。
Adobe要想贏得RIA之戰,我提出如下建議:
1、為Flash Builder提供更多的技術和宣傳資源。
2、推出一個開發商計劃。一個開發商授權架構可以帶來更大的市場。開發商制作工具、模板和組件,然后終端用戶來購買它們。微軟和Autodesk通過圍繞各自產品孕育一個開發商系統取得了巨大成功。
3、開源Flash Builder,然后與合作伙伴建立聯盟,這樣可以有效的實現協同開發。
4、外包某些Flash Builder開發工作給專注于Eclipse開發的公司,例如Xored。
目前正處于RIA戰役的轉折點。在如何有效利用開發者方面,Autodesk和微軟提供了強大的歷史案例,但是它們的故事發生在開源運動之前。擁抱開源社區的力量,可以讓Adobe擁有贏得RIA戰爭的動力,并實現股東們需要的穩定增長。
【編輯推薦】