2011年11月20日 星期日

HTML5 v.s. Flash 生死鬥

為什麼我突然想寫技術相關文章呢?

竟然你誠心誠意的發問了,那我就大發慈悲的告訴你,為了防止本網誌過於單調,為了守護網誌的多元性,貫徹愛與真實的技術文章,可愛又迷人的瀟灑工程師,網路業!工程師!身為一個網路工程師,聊點技術文章,也是很合理的。就是這樣!喵^.<



不是所有人都是工程師,所以這邊簡單介紹一下何謂HTML5? 何謂Flash?

何謂HTML5

HTML5是由HTML延伸而來,所以要介紹HTML5必先了解HTML,HTML較為簡單的解釋為網路程式語言 (雖說實際上它算是一種協定,遵守XML協定之下的產物),主要的功能為提供程式設計師們架設網頁用,現時則用來作為設計一個網頁(or網站, whatever)的主要架構,接著再用Javascript / jQuery / Ruby on Rail等script語言來控制網頁的特效及簡單驗證資料,而後端與資料庫串接或是複雜的處理則由PHP或是ASP來控制。若將網站比喻為一棟大樓,這棟大樓的鋼筋,就是HTML。
那HTML5與HTML有什麼差別?簡單來說,HTML5,比較新!!(踹飛...)因傳統HTML只能針對網頁作架構上的設計,例如將網頁左邊與右邊分開,中間放一個區塊作為主要資料呈現,上面放一排工具按鈕,下面放個copy right什麼的,無法做到像是動畫、特效、3D運算,或是直接拖曳桌面檔案到網頁上等酷炫功能,已然完全無法跟上時代的演變與無法滿足人們的視覺需求,於是,HTML5誕生了。

HTML5與HTML的不同之處:
  • 新增動畫功能(與Javascript & CSS)
  • 3D特效 (即時二維繪圖)
  • 定時媒體播放
  • 離線儲存資料庫(離線網路應用程式)
  • 拖放資料檔案
  • 新增一堆標籤與移除舊HTML標籤

何謂Flash

由Adobe公司在1996年針對網頁無法撥放動畫影音特效而發明,主要作用是用來在網頁中載入一段華麗的動畫,撥放多媒體物件,或製造可與user互動的視窗,像是網路上的許多小遊戲,95%以上都是由Flash製作。

生死鬥的由來

一切一切,都是因為我們偉大的Steve Jobs在2010年發表的一篇文章,Steve Jobs闡述為何不在Apple裝置上支援Flash,這篇文章在當時引起了一陣轟動,甚至有人認為Apple公然向Adobe宣戰了,但其實,Jobs只是闡述當時他所看到的未來,一個Flash慢慢消失的未來,在這之前並沒多少人特別以HTML5去抨擊Flash。而就在前幾天,Adobe宣布放棄行動版本Flash,這無疑在科技圈投下了一顆震撼彈!!不是因為證明了Steve Jobs的卓越遠見,而是橫行15年的Flash,終於承認自己開始跟不上潮流了,HTML5的聲勢開始盛囂其上,這場對決,即將完結!?

究竟Adobe Flash出了什麼事?

無法與時並進,Flash作為一個曾經佔有網路多媒體市場95%的工具,卻從不聽進Adobe以外開發人員的心聲。我們要Flash支持3D運算,他不做。我們要Flash降低消耗CPU資源,他不聽。我們要Flash降低耗電量,他不聞不問,讓iPad死不安裝Flash,Jobs公開聲明:你是要有Flash但只有1.5小時電量的iPad還是沒Flash但電量10小時的iPad?行動裝置的崛起,Flash無法適時調整,逼迫硬體廠商生產行動裝置元件時,為了能撥放Flash,大幅提高成本,你知道的,要在行動裝置上播放Flash是需要特殊元件的,這元件,很貴。Flash是個封閉的軟體,他由Adobe所控制,相對於HTML5為開源軟體,這是個弱勢,HTML5可以很靈活,隨時加入新功能,Flash不行。Jobs與Google想要HTML5崛起,這兩家大廠各懷鬼胎,Jobs不想讓旗下產品iPad, iPhone等受到Flash控制,若每次更新或app strore上小遊戲都被Adobe Flash吃掉30%營收,Jobs會讓許多員工變成no jobs。Google為了降低微軟OS的市佔率,他當然要支持HTML5,因HTML5可以幫助Google做到像是Chrome OS,一個在雲端上的OS,Google長遠目標其一就是使未來的人們電腦上再安裝OS,只要有Browser,就可以上網使用OS,雲端OS。
綜合以上各個政治因素,技術因素,未來HTML5漸漸取代Flash已然成為趨勢,除非Adobe能想到什麼殺手級招數!
說到殺手級招數,HTML5已有人實作出幾個殺手級應用了:

  1. 動畫
  2. 無限的球
  3. 滿天星斗
  4. Web applicateion
  5. 小畫家
  6. 擁有物理引擎的小畫家
  7. 3D圖框
  8. 小遊戲
  9. 俄羅斯方塊
  10. 在Browser上打CS!!


注意到了嗎?以前這些可都是要用Flash來實現的呢!且HTML5不需要像Flash那樣先等他全部載入完才可以運行,他可以運用Ajax技術讓我們在背後暗地載入,這對user experience來說大大加分!而且,這些應用還都是一兩年前所做的。

HTML5 v.s. Flash 啟示錄


身為一個Start Uper,經過了這一連串HTML5與Flash的大車拼,你所應該從中知道的:

  • 你必須要與時俱進,聽取市場的需要,而不是先做出產品再強迫大家使用你的產品。
  • 你要能隨時靈活地更改你的產品,畢竟誰也無法預測人們的真正需要。
  • 95%以上案例開源產品絕對比封閉好,閉門造車要造出符合大家期待的產品有很大難度,畢竟這世界上很難找到第二個Steve Jobs。
  • 不要只看眼前,一個產品的興衰背後絕對有複雜的因素,或說背後有許多低調的大推手(見Apple與Google)。
  • 不要盲目跟隨主流,主流未來未必會是主流。(台廠們你聽到了嗎?)
  • 若無法因應市場靈活調整你的步伐,就算現在市佔率達到95%,也將會有滅頂之災。
  • 身為一個技術人員,請開始學習HTML5。
  • 聽Steve Jobs的話。

請不斷學習,不斷調整,且獨立思考,進而影響他人,加油!

Kai

沒有留言:

張貼留言