Adobe為什麼停止開發移動平臺的Flash Player,以及Flash平臺未來的走向

李鬆峰發表於2011-11-18

enter image description here 原文(在這裡)作者Adobe Flash平臺首席產品經理Mike Chambers,發表於2011年11月11日。

我參與Flash產品開發和Flash社群已經有十二、三年了(其中有十年以上是在Macromedia和Adobe)。這段時間內,起起落落都曾有過,但過去這幾天是我覺得最最難受的幾天。我覺得必須寫點什麼,對前兩天的新聞作出一些澄清,對到底發生了什麼事兒給大家提供一些背景。

首先,也是最重要的,兩天前,Adobe宣佈了以下決議:

  1. 我們正專注於Flash平臺的下列工作:
    • 使用Adobe AIR建立移動應用
    • 通過桌面瀏覽器的Flash Player表現內容(特別是遊戲和視訊)
  2. 我們會在HTML5工具、解決方案和瀏覽器方面投入更多資源(包括資金和工程師)
  3. 我們將不再主動開發面向移動瀏覽器的Flash Player

最後一點倍受關注,也導致了很多困惑,而且基本上掩蓋了其他所有資訊。從各種裝置上Flash Player近期的發展情況來看,這一點是可以理解的。但是,我們並沒有表達清楚為什麼作出這樣的策略調整。我知道這個決定讓Flash社群有多沮喪,我想為此向大家說聲抱歉。我們的目標是想說清楚Adobe在做什麼,但與此同時,我們對解釋這樣做的原因並沒有給予足夠重視。

所以,請大家給我點時間,因為可能要多敲點字兒才能講明白。除了解釋原因,我還想再討論一下我們如何看待Flash在Web上(特別是有了HTML5之後)的角色。

首先,我非常非常想明白地告訴大家,我們目前還在繼續開發面向移動應用的Adobe AIR,也已經看到了越來越多使用Adobe AIR開發的成功應用。我們停止開發的只是移動瀏覽器中的Flash Player外掛而已。對於現有的裝置,我們仍然會提供重要的bug修復和安全更新,而且還會繼續對當前的Flash Player提供下載。與此同時,我們會進一步增加在HTML5方面的投入(包括資源和工程師)。今天,我不想就這方面說太多,不過大體上講,我們正把Flash Platform的一些資源轉向HTML5。

停止開發移動瀏覽器中的Flash Player外掛也是Adobe更大的遷移戰略的一部分,這個更大的戰略包括把更多資源轉向HTML5、Adobe Creative Cloud及其提供的服務。在這裡,我不準備就此詳細展開來講(改天我會另寫一篇文章),但是你可以看前幾天釋出的財務分析師會議的資料(摘要視訊),可能有點長,但還是值得一看。

Adobe為什麼決定不再開發面向移動瀏覽器的Flash Player?

考慮到之前大家對這個問題爭論得那麼激烈,應該說停止開發面向移動瀏覽器的Flash Player並不是一個輕鬆的決定。可是,到了最後,種種跡象還是清楚地表明,如果繼續在這個方向投入資源,那恐怕不能最有效地利用現有資源。

Flash Player在移動裝置上不會有桌面上那麼高的裝機率

這一點相當明顯,在移動市場分裂且領先的移動平臺(蘋果的iOS)不打算允許在瀏覽器中安裝Flash Player的現實之下,Flash Player絕無可能像在桌面平臺上那樣隨處可見、無所不在。

這無疑就意味著,如果你想使用Flash在移動瀏覽器中提供富Web體驗,那就同時需要提供一個Flash版和一個HTML5版。既然當前移動裝置對HTML5都支援得這麼好,那很顯然開發基於HTML5的版本更有意義。當然,也有一些例外,特別是針對高階的視訊內容,但只要你想在移動平臺上提供跨瀏覽器的相對豐富的體驗,那HTML5肯定是最合適的方案。

請大家務必對這一點有一個明確的認識。不管我們怎麼做,在可預見的未來,Flash Player都不會出現在蘋果iOS中。

HTML5得到了移動瀏覽器普遍的支援

相對於上面的現實,HTML5則在現代的移動裝置和平板電腦中得到了廣泛的支援。不可否認,在移動裝置中,HTML5在某種程度上已經像Flash Player在桌面中那樣無所不在了。儘管效能和實現還有不盡人意的地方,甚至還有一些跨平臺不相容的問題,但對這些問題的改進速度也是有目共睹的(只要注意一下Canvas效能從iOS 4到iOS 5匪夷所思的巨大提升就能感受到了)。

新一代(以蘋果iPhone為先導的)智慧手機和平板電腦剛剛誕生兩年多。正因為如此,部署在這些裝置上的渲染引擎(大多數都基於WebKit)也相對是最新和最先進的。結果呢,在面向這些移動裝置以及平板電腦開發Web應用時,根據不必像在桌面上那樣面對那麼多老不死的瀏覽器。

既然HTML5在移動裝置上具有Flash Player在桌面上那樣無處不在的優勢,那它就是建立和部署跨移動平臺瀏覽器的富應用的最佳技術。

我們的目標一直都是讓Flash Player在移動瀏覽器中也達到同樣高的裝機率,可到頭來,這個目標並沒有實現,而且將來也是不可能實現的。

使用者在移動裝置上消費富內容的方式與在桌面上完全不同

在桌面上,使用者習慣於通過瀏覽器和本地應用來消費富內容(如遊戲和應用)。但是,在移動平臺上,使用者更傾向於通過應用來消費富內容。通過把作業系統與應用商店(蘋果App Store、Android Marketplace,等等)緊密結合,使得移動平臺非常容易發現新內容和新應用。一般情況下,使用者很少通過移動裝置上網查詢和消費富內容(如遊戲和應用)。

之所以會這樣,原因主要有:

  • 移動裝置與桌面PC在螢幕尺寸、解析度以及互動模式上都不相同;
  • 移動裝置上網相對較慢、網路連線延遲時間較長(通常還要計算流量),因此隨時上網會很麻煩,有時候還要花很多銀子,不太可能長時間消費網上的內容。
  • 原生應用與底層作業系統緊密整合
  • 手機應用商店與移動作業系統緊密整合,消除了尋找新內容的種種問題

最重要的是,使用者通過應用在移動裝置上消費富內容的習慣,意味著使用者在移動裝置上對Flash Player的需求不會像在桌面上那麼迫切。

為移動瀏覽器開發外掛的可擴充套件問題

為移動瀏覽器開發Flash Player比我們想象的投入更大。在開發桌面Flash Player時,可以利用瀏覽器提供的完善的外掛API。雖然我們跟所有瀏覽器提供商(谷歌、蘋果、謀智、微軟)都保持著密切的關係,但使用已有API顯然可以讓開發的投入更有成效。

然而,在移動領域,我們不得不在很多層面與其他公司的工程師緊密配合,包括:

  1. 移動作業系統提供商(如谷歌和RIM)
  2. 硬體裝置製造商(如摩托羅拉和三星)
  3. 電子元件製造商(如NVIDIA)

雖然我們與這些廠商的關係都很好,但針對不同OS、硬體甚至元器件的定製工作已經佔用了相當一部分資源。每釋出一款新裝置、新瀏覽器或新作業系統,開發、測試和維護Flash Player的資源都要相應地增加。這就是我們所說的不具備可擴充套件性或可持續性。

我聽到過有人問Adoble AIR有什麼不一樣。有兩個主要的差別讓AIR開發明顯不會那麼吃資源,一是可以利用一套完善的API,二是不必擔心不同的瀏覽器或瀏覽器版本的差異。最根本的問題在於,開發人員正在通過Adobe AIR建立成功的應用,而這也是我們持續投入一個原因。

要把資源從Flash轉移到HTML5

最後,鑑於HTML5在移動和桌面瀏覽器上快速的發展,我們決定要在Flash和HTML5之間均衡地分配現有資源。

停止開發移動裝置上Flash Player釋放的資源可以轉移到HTML5開發上(涉及工具、框架以及瀏覽器)。

我知道,上面列舉的這幾個原因並不能說服所有人。可是,在這些現實面前,考慮到繼續針對移動瀏覽器開發Flash Player的複雜性和成本,我們還是認為進一步開發不能有效配置我們的資源。

這對Flash Platform總體上意味著什麼?

儘管停止開發面向移動瀏覽器的Flash Player引來了不少嘆息之聲,但我注意到,主流的聲音還是關注並困惑於這件事對Flash Platform整體戰略的影響。Adobe還會專注於此嗎?他們會不會停止桌面Flash Player的開發?Flash真的死了嗎?

好,為了讓大家搞清楚,我要對那些消極的論調說:Flash沒死!它的角色和關注點已經轉換了,但我們認為它在Web和移動平臺仍然有著舉足輕重的地位。

Adobe AIR

我們還會繼續開發桌面和移動平臺的Adobe AIR。事實上,我們已經看到Adobe AIR被用於開發各種型別的移動應用,而且有很多重量級的移動應用都是用Adobe AIR寫出來了。比如,MachinariumWatch ESPN,還有我個人非常喜歡的tweet hunt都是最近針對移動裝置推出的新應用,使用的都是Adobe AIR。

面向桌面瀏覽器的Flash Player

我們認為Flash給Web開發帶來的獨有特性和功能,決定了它仍然是這個舞臺上不可取代的重要角色。因此,我們會在開發桌面Flash Player方面長期投入,而且正在積極地開發Flash Player的下一個版本。

當然,隨著HTML5的發展以及對它的支援越來越完善,Flash的角色也將改變。我們認為在可預見的未來,Flash的最大優勢在於高階視訊,同時仍然是可靠的、功能強大的遊戲開發平臺。今後Flash Player的開發也將圍繞這些領域展開。

目前正在為Flash Player開發的一些功能有:

我們正致力於這個長期的、意義重大的架構性轉變,而這個轉變很快會在未來幾年惠及Flash Player(以及開發人員)。當然,目前還處在這個轉變的開始階段,稍後幾個月我們會公佈更多這方面的訊息。

Adobe Flex

我知道大家對Adobe Flex的問題也非常多。我們正在寫一篇專門談Flex的部落格文章,很快就會發表出來。發表之後,我會更新這篇文章,給出連結。

更新:Flex開發團隊已經在這裡給出了詳細說明

Flash Professional

昨天,我在另一篇部落格文章中文翻譯版在此)裡談到過Flash Professional的未來,所以這裡就不多說了。正如昨天那篇文章所說的,我們正在積極地開發Flash Professional的下一個版本,而且會長期地持續開發下去。

HTML5與Flash

最後,我想曬一曬自己關於Flash和HTML5的一些思考。

在Flash誕生之初,它的主要角色就是彌補Web開發的某些功能上的不足。相信大家對這些都能如數家珍,比如動畫、向量圖形、聲音、視訊、網路攝像和麥克風,等等。由於它的裝機率極高,採用速度也很快,所以極其適合迅速向Web中引入新特性。

隨著時間推移,Flash把很多諸如此類的新特性加入到瀏覽器中。然後,待到Flash獨有的特性成熟之後,瀏覽器也開始原生地支援這些特性。接著,Flash Player再引入新特性,瀏覽器再如法炮製,如此迴圈,周而復始。這個過程貫穿Flash的整個歷史,據我觀察,這種情形還將繼續下去。這對使用者是好事(他們可以更早享受到更豐富的內容),對Adobe是好事(它可以銷售自己的工具和技術),對瀏覽器提供商也是好事(它們可以只關注那些被Flash Player證明可行的受人歡迎的特性)。

這才是關鍵!如果某個Flash特性大受歡迎,這個特性最終會被整合到瀏覽器中。而開發人員還有使用者也會更多地通過瀏覽器使用這些特性,而不再是Flash。

在瀏覽器市場競爭格局重構,以及之後HTML5新特性得到瀏覽器加速支援的形勢下,瀏覽器可以乾的事兒一下子多起來。這其中就有不少原先只有Flash Player才支援的功能。儘管HTML5及CSS3的特性要想普及到今天Flash Player的程度,還要再等一段時間,但趨勢已經非常明顯了。很多過去只能在Flash中做的事兒,逐步地也能在瀏覽器中通過HTML5和CSS3直接實現。

認識到這一點真的太重要了,我想有必要再重複一遍:

很多過去只能在Flash中做的事兒,逐步地也能在瀏覽器中通過HTML5和CSS3直接實現。

我知道,這會讓很多一直從事Flash相關工作的人心裡不踏實。我非常理解。可是,我認為這給Flash社群帶來了一次巨大的機遇。因為瀏覽器支援更豐富的內容和日益改進的影像動畫,Web開發領域自然會產生對有動畫經驗的設計人員和開發人員的需求。Flash社群從事這種工作已經十多年了,因此能夠當仁不讓地滿足在瀏覽器中從事類似開發工作的需求。一些最頂尖的影像動畫作品(例如Grant SkinnerBranden HallBig Spaceship,等等),在今天由富有經驗的Flash開發人員和公司使用HTML5開發出來,我認為並不是巧合。

我不是暗示所有Flash內容都應該或都將會通過HTML5來實現。不同的專案要分別評估,要綜合考慮開發成本、目標平臺和使用者體驗。無論如何,你的客戶總會問起HTML5,你應該從滿足他們的需求出發作出選擇,無論什麼技術和平臺。

這篇文章比我一開始想的要長,但我只是想把過去這兩天思考的東西分享出來。此外,我知道最初公佈的訊息讓大家很洩氣,對此我想說抱歉。因為很顯然,我們並沒有把這些訊息,還有我們對Flash的看法明白無誤地傳達給大家。

請大家留言或提問,在下面發評論吧。不過,拜託大家多發表建設性的評論,而且可不要扯得太遠(不然,你的評論可能會被人工過濾掉)。

相關文章