ADVERTISEMENT
前不久Adobe才在4月12日風光發表CS5套件,時下最夯的iPad拒絕搭載Flash播放器的風波卻沒有平息,這兩天新聞報導:Adobe聲明將不再繼續支援開發Flash的iPhone封裝程式,因為Flash的宗旨是可以跨平台、裝置、及瀏覽器執行,Apple卻只想把開發者綁在自家的平台。Apple也不干示弱的回擊:「才怪!」(someone has it backwards),你看懂這是怎麼回事嗎?
Apple說,HTML5、CSS、JavaScript、H.264才是開放、符合標準的,而Flash則是封閉且固守專利的。喘口氣,想一想,你知道詭異的地方在哪裡嗎?
其實大家都是封閉原始碼的公司,都要靠專利權來賺錢,所以誰指著誰說「才怪」,沒什麼太大意義(想到我家四歲小孩吵架的情境)。也難怪Adobe CEO受訪的時候說:「Apple這是商業考量而不是基於技術的決定」。
從頭來,回到iPad不支援Flash的那一刻開始,Steve Jobs宣稱是因為Flash超吃CPU資源,播個短片會讓iPad的續航力從10小時跌到只剩1.5小時。當然,話一出口引起不少人的質疑,不過因為iPad出廠後壓根沒有Flash播放器,所以反對的人也無從證明他是錯的。然而從先前我們也整理過的國外網友測試看來,如果Flash獲得新版的硬體加速功能,在Windows平台上反而比替代選擇的HTML5更省資源。
所以Flash、HTML5,誰才是資源怪獸?事實上不只有Flash 10.1將支援GPU加速,IE 9也預計支援由顯示卡分攤CPU負荷的HTML5、JavaScript加速功能,另外Firefox 3.7也將獲得硬體加速,只是目前看來加速的範圍跟IE 9不大相同。所以恐怕要等各個陣營的加速功能齊備,再比對一次誰才是「瘦身美人」的輕巧性才有意義。
▲新出爐的Flash CS5產品網頁,當然要用Flash播放器製作。
扣除誰胖誰瘦的問題,Flash和HTML5之間還有什麼好比?如果你對網頁設計持續有涉獵的話,應該答得出來就是Flash得向Adobe買軟體才能製作,再不濟可能還得買幾本書來照表操課。當然也不是說HTML5不用繳學費就能變高手,相反地,Flash這樣的商業軟體,操作介面和學習資源甚至是比開放標準更容易親近的,畢竟發展的歷史也夠久了。
關鍵在於,Apple的批評其實有一部份是成立的。HTML5加入video標籤、canvas功能等等可以取代Flash播放器的標準,用意是在於不要讓網路標準掌控在Flash、甚至是Silverlight這種封閉式、商用軟體的手上,萬一它變成了獨佔,如果十年都不出新版、也不修bug,使用者也莫可奈何(想想IE 6)。
OK!我們還是回來看看熱鬧,「他們到底在吵什麼」呢?不少國內外媒體都有簡短的分析,似乎很多人說得不夠精確。早先Adobe在Flash CS5裡新增可以將Flash腳本程式轉譯為iPhone apps的功能,現在從Adobe Labs的網頁上還可以看到不少範例程式,隨後在Apple新的iPhone OS 4.0 SDK使用條款中,竟然明文禁止其他軟體非經Apple許可存取SDK來轉譯iPhone apps,翻成白話:「擺明是衝著Adobe來的」。
▲在Adobe Labs底下的iPhone封裝程式介紹,Apple:以後別這樣搞了喔~
這讓Adobe先前的積極善意根本是貼了冷屁股,關鍵還是在「iPad為什麼沒有Flash」,答案也很簡單,還是那句「someone has it backwards」,Adobe批判Apple同樣是部份正確,因為要捍衛「封閉與專利性」,所以蘋果公司不能讓開發者隨便拿個PC端的Flash轉一下,就搬上App Store賣錢。況且iPhone OS 4.0還推出了以HTML5為基礎的iAd廣告平台,更不能容許瀏覽器廣告滿天飛的Flash平台進來亂。
對好學用功的T客邦讀者而言,更感興趣的也許是Flash和HTML5的製作功能,誰比較強?就在Adobe與Apple開始爭執的同時,Flash設計師Morgan Adams提出一套有趣的看法,iPad之所以不支援Flash,其實是因為Flash本來就不是為了觸控平台設計,PC上滑鼠操作的思維,搬上iPad使用會有大麻煩。
這裡指的是PC網頁上已經存在的一大票Flash應用程式,許多操作是透過滑鼠游標的mouseover(游標移過)及按左、右鍵來觸發,但是觸控螢幕的操作卻是要靠「手勢」來判別。例如在YouTube播放器當中,滑鼠移過就會顯示控制列,移開則是隱藏,按下影片則是暫停影片。但是在觸控螢幕上,要模擬mouseover你得將手指懸浮在空中,對系統來說,它根本無從判別你是要mouseover還是要click。實際有沒有這樣的困擾,我想買了Windows 7觸控電腦的人應該已經有答案了吧。
▲大家很常用的嵌入式YouTube播放器,滑鼠移過縮圖會自動顯示文字說明。
至於HTML5會不會做不出跟Flash一樣炫的動畫和程式呢?我想網路上已經有一大票透過JavaScript設計的示範網頁與遊戲,而新的「canvas」標籤,則是一個以像素為基礎的點陣圖畫布,可用來即時產生各種圖像。也就是一個可以用JavaScript在上面畫圖的矩形區域。HTML5定義了一組canvas API,能夠用來繪製形狀、定義路徑、產生漸層、套用變形效果等等。簡單的說,就是用JavaScript做動畫會更容易。
好吧,筆者真的沒有預期會像Adobe、Apple吵架一樣嘮嘮叨叨講這麼一大串,兩造的名字又很像,簡直快「傻傻分不清楚」了。另外,其實Flash CS5也有將自家動畫轉成HTML5 canvas程式碼的功能,其實也沒什麼好吵的,Photoshop也是封閉原始碼,喜歡Mac的人也對它難以割捨,DreamWeaver也是封閉原始碼,相信一些倡導網頁標準的行家也用得很開心。不過很奇怪,總覺得Steve Jobs罵過Flash是資源怪獸之後,我就不自覺會把Firefox分頁裡的Flash網頁關掉,看來嘴炮還是很有用的。
▲Firefox 3.5以上的瀏覽器,現在就可以玩看看這個canvas功能做出來的網頁。
我看雜誌的報導起碼知道誰寫的,我看國外新聞起碼知道記者的名字是誰,我看商周的總編輯道歉我起碼知道總編輯是哪位,請問什麼叫做尊重?
如果覺得難回答,請閉嘴,我可以接受的。
友善?這是一個「規定」?我相當認同應該尊重,我就算不客氣也沒有不尊重任何人。
我言詞如果銳利(其實差得遠了,是吧?)不是不尊重誰,只是銳利罷了。
如果我有說錯,煩請指正我,不用跟我談尊重,你說我不懂任何東西我都不介意,拜託請指正我。
如果要談尊重,怎不針對樓上那位奇怪先生的(不知所云的)發言來談尊重?OK,他道歉了,那請問他的發言到底和吵什麼有何相關?不好回答?
這位先生你是作者,沒關係,不好回答請閉嘴。如果要針對技術,對,那就請說啊!我也看不出來你的回答和技術有哪裡相關。
要是最早沒人回應,沒人說話,也就算了,等到有人點了火來跟讀者談尊重,了不起。
有人敢威脅要刪文我就敢大聲談尊重問題,保證可以讓所有人都開心。