2010年5月3日 星期一

[轉載]Steve Jobs的公開信談Apple拒絕flash

全文轉載自:Steve Jobs談為何蘋果討厭吃Flash(完整公開信,中文版),ZDnet Taiwan


蘋果跟Adobe有很深的關係,我們還曾在他們草創的車庫裡跟Adobe創辦人見過面,蘋果是他們第一個大客戶,把他們的Postcript語言用在我們新的Laserwriter印表機中。蘋果曾經投資過Adobe,也曾一度擁有Adobe 20%股權多年。我們曾密切合作創新推出桌面出版,雙方都有過許多甜蜜時光,但過了那段蜜月期後,我們就漸行漸遠了,蘋果歷經瀕死經驗,Adobe則以Acrobat產品打入企業市場。今日,我們依然共同服務雙方共有的創意客戶群,Mac用戶大概買了半數Adobe的Creative Suite產品,但除此之外,雙方已經殊少交集了。

我之前很想寫出我對Adobe Flash產品的想法,好讓大家能更瞭解為何我們不想讓Flash進到iPhones、iPods與iPads。Adobe一直認為我們的決定是出於商業考量,他們說我們這麼做是要保護App Store,但其實這一切都只是出於技術考量而已。Adobe說我們是封閉系統,而Flash是開放的,但事實根本相反,我在此解釋一下。

首先是開放問題。

Adobe的Flash產品是100%專屬的,僅能由Adobe提供,未來怎麼發展、價格等也全看Adobe自己的決定。雖然Adobe的Flash產品廣為使用,但這不代表他們是開放的,因為這個技術由Adobe自家掌控,從任何角度來看,Flash都是封閉系統。

蘋果自己也有很多專屬產品,不過iPhone、iPod與iPad雖然是封閉的,但十分相信所有跟Web有關的標準都應該公開。蘋果捨棄Flash,改用HTML5、CSS與JavaScript,這些都是公開標準。蘋果的行動裝置要用最高性能、最低耗電的部署方式推出。HTML5(蘋果、Google等都已經採用此一新標準)可讓Web開發者建立更先進的繪圖、字型、動畫與轉換,完全不需仰賴第三方瀏覽器外掛(不像Flash那樣)。HTML5完全開放,由標準委員會控制,蘋果也在其中。

蘋果甚至也自創Web的開放標準,比如,蘋果弄了一個小的開放原始碼計畫稱為WebKit,這是一個完整開放原始碼HTML5呈現引擎,是Safari網頁瀏覽器的核心。WebKit目前已經廣為採用,Google在Android的瀏覽器也有採用,Palm也是,Nokia也有用,RIM(BlackBerry)則已經宣布未來會採用。現在幾乎除了微軟以外,其他主要智慧手機瀏覽器都是使用WebKit。蘋果把WebKit技術開放出來,讓行動網路瀏覽器立下了標準。

Adobe也不斷說蘋果行動裝置無法存取完整的Web,因為75%的網路影片都是以Flash製作。但他們沒說的是,這些影片同時也都有提供更現代的格式:H.264,可在iPhone、iPod與iPad上觀看。YouTube(佔了網路影片40%市佔率)便可用在一款蘋果行動裝置都有搭配的應用程式中,iPad所提供的YouTube觀看經驗看是無與倫比。若再加入Vimeo、 Netflix、 Facebook、 ABC、 CBS、 CNN、 MSNBC、 Fox News、 ESPN、 NPR、 Time、 The New York Times、 The Wall Street Journal、 Sports Illustrated、 People、 National Geographic、等等的影片,則iPhone、iPod與iPad用戶並沒有少看太多影片。

Adobe還宣稱蘋果機器無法玩Flash遊戲,這點說得沒錯,但還好我們的App Store有超過5萬種遊戲程式,其中還有許多都是免費的,事實上,iPhone、iPod與iPad可用的遊戲比其他任何平台都還要來得多。

第三,我們看中穩定性、安全性與效能

賽門鐵克最近特別指出Flash是2009年安全性最差的軟體之一,我們也一手深知,Mac當機的頭號理由都是出在Flash。我們曾跟Adobe合作修正這些問題,但這些狀況多年下來依然存在,我們不想因為加入Flash而降低iPhone、iPod與iPad的穩定性與安全性。

此外,Flash在行動裝置上的效能不佳,我們多年來多次要求Adobe提出一個可在行動裝置上擁有良好效能的Flash版本,但我們從來沒看過。Adobe曾公開表示Flash會在2009年初用在一款智慧手機上,之後改口說是2009年下半,之後又延至2010年上半,現在則已經變成2010年下半年了。我們相信最終他們還是會推出,但還好我們不需癡癡等待,誰曉得屆時效能如何?

第四點,電池效能問題

播放影片若要達成電池長效,則手機必須能在硬體中進行影片解碼,若用軟體解碼會耗費太多電力,許多新一代行動裝置中所使用的晶片都含有H.264解碼器,這是一種產業標準,用在每一台藍光DVD播放機中,包括蘋果、Google(YouTube)、Vimeo、Netflix等大廠也都有採用。Flash最近雖然也加入支援H.264,但目前所有Flash網站的影片則必須使用較舊版本的解碼器,無法用在行動晶片中,且必須用軟體來執行,這兩者的差異十分顯著,比如在iPhone上,H.264影片可播放10小時,但若用軟體解碼,則只能播放5小時電池就沒電了。

網站若以H.264來重新編碼影片,則不需使用Flash就能提供出來,他們可在所有瀏覽器播放,比如蘋果的Safari或Google Chrome,不需外掛,而在iPhone、iPod與iPad上觀看效果都很好。

第五,觸控問題

Flash主要是提供給使用滑鼠的PC,而非給使用手指的觸控螢幕,比如許多Flash網站都都使用所謂的「rollovers」(滑鼠移過去會有動作),但蘋果的多重觸控介面不使用滑鼠,也沒有rollover概念。多數Flash網站都得重新改寫才能支援觸控裝置。若開發者需要重寫Flash網站,那何不乾脆使用更現代的技術,如HTML5、CSS與JavaScript?

就算我們真的支援Flash好了,這也無法解決多數Flash網站都必須改寫才能支援觸控裝置的事實。

第六,最重要的理由

除了上述缺點外,我們不允許Flash進入我們的行動裝置還有個最重要的理由:Adobe希望開發者使用Flash來開發可在我們行動裝置上可使用的應用程式。

我們從過去慘痛的經驗得知,讓一個第三方軟體層介入平台與開發者之間,則最終出現的都是次等程式,阻礙平台的創新與進步。若開發者變得很仰賴第三方開發資料庫與工具,則若第三方不提供新功能,他們就無法享受到平台更新的好處,我們不可能讓第三方來決定他們何時會把更新提供給我們的開發者。

若第三方還提供跨平台開發工具,情況則變得更糟,第三方有可能會等到所有平台的更新版本都準備就緒了才會推出,不必然會為單一平台推出更新,結果開發者僅能使用最大公約數的功能。我們無法接受這種結果,開發者竟然是因為其他平台還沒準備好,所以無法使用我們的創新功能。

Flash是跨平台開發工具,Adobe的目標並非協助開發者撰寫最好的iPhone、iPod與iPad程式,他們的目標是協助開發者撰寫跨平台程式。而Adobe向來對於蘋果平台的更新十分緩慢,比如,Mac OS X已經推出快10年了,Adobe才剛在兩週前推出的CS5才完整採用。Adobe是所有主要第三方開發者中,最慢完整採用Mac OS X的。

我們的出發點很簡單,我們希望提供最先進創新的平台給我們的開發者,我們希望他們是直接站在我們的平台肩膀上,寫出全世界最好的程式。我們會持續強化平台,好讓開發者寫出更棒、更強大、更好玩、更實用的程式。這是三贏局面,我們可賣出更多機器,因為我們有最好的程式、而開發者也可接觸更多的客戶,而使用者則可享受到最多的程式選擇性。

結論

Flash是PC與滑鼠時代的產物,Flash的確是Adobe的成功之作,也因此我們能理解為何他們想把Flash延伸至PC之外,但行動時代講究的是低耗電、觸控介面與開放Web標準,Flash在這幾個方面都是不及格的。

這麼多媒體爭相提供內容讓我們放在蘋果行動裝置,顯示Flash已經成了觀看影片或任何Web內容的雞肋。而蘋果App Store超過20萬種應用程式證明開發者不需要Flash一樣可寫出圖像十分豐富的程式,包括遊戲。

行動時代所新推出的開放標準(如HTML5)將在行動裝置上勝出(PC亦然)。或許Adobe應該多花一點時間專心在未來推出好用的HTML5工具,而不是不斷批評蘋果太不念舊。
Steve Jobs

April, 2010


全文轉載自:Steve Jobs談為何蘋果討厭吃Flash(完整公開信,中文版),ZDnet Taiwan

(陳奭璁譯)

沒有留言: