HTML5來了,Flash還能走多遠?

      歷史的車輪向前滾進,技術的腳步永不止歇,在這即將迎來HTML5的全新世代,一度榮登王者寶座的Flash技術,又能繼續行走多遠呢?談到 Flash 能走多遠的問題時,我們不得不先聊聊作爲 Flash 前輩的 Applet 所以要提它,是因爲人類歷史上 第一個運行在瀏覽器之上的交互式應用,本來就是 Java 小程序,而非什麼 Flash 。

早在 1995 年之初,當 Gosling 和 Gage 在 WebRunner 瀏覽器(即日後的 HotJava 瀏覽器)上展示 3D 分子模型之際,人們對 Java 的第一印象就是“這是種可以將靜態網頁變成動態的語言”,而並非這是種“開發手機應用的 語言”或者這是種“開發企業級應用的語言”。  
       直言不諱的說,自從 Java 與 Applet 誕生之初,直到 2000 年 Flash5 出現以前, Java 和 Applet 一直都是網站動態效果實現的首選媒介(尤其是網絡教學)。而在此以前的 Flash 還算不得主流,登不得檯面。
 
爲什麼 Java(Applet) 會變得不如 Flash 普及?
 
       關於這點,拋開 WindowsXP 後期版本不再內置 JVM 的影響不談,應該說同 Sun 高層的愚蠢無能,以及 Macromedia 高層的齷齪不知關係(某個時期的 Flash 真的就像流氓軟件一樣,不經過任何預警便自行安裝,也沒有必要的砂箱保護,什麼都能運行)。正是這羣墨守陳規,不思進取, 被 Java 技術所帶來的驚天財富衝昏了頭腦( 2000-2001 年 Sun 最興盛時,股票峯值曾達 258.75 美元 / 股,公司估價超過 2000 億美金),對技術趨勢把握猶如童蒙的 Sun 高層,最終葬送了 Java 在網頁乃至桌面領域的大好河山。   
       要知道,當時的 Applet 雖然有着相當完善的 Java 類庫支持,並有穩妥的砂箱機制保證程序安全,但運行速度卻異常緩慢(特指 JRE1.0-1.3 ),運行界面也遠沒有 Flash 那麼鮮豔友好,已經變得漸漸無法適應越來越複雜的網絡展示需求,業界甚至開始出現關於 Java 與 Applet 的不利消息。  
      更關鍵的是,假如當時沒有 Macromedia 的 Flash ,或者 Flash 根本就是個連 Applet 也不如的垃圾那還好說。可偏偏,偏偏 Flash 在界面效果與運行速度方面都遠勝於當時的 Applet !而這羣理應在臉上被刻下 S13 星烙印的 Sun 高層,不單在不必要的時刻過早地與微軟決裂,甚至還對 Flash 這樣新興技術的威脅無動於衷!  
     他們即不想辦法走正道完善自己 的 Java 與 Applet 體系,又不會運用邪道將 Flash 擠出市場,既沒能預見到網頁前端市場中蘊含的巨大商機,更無法適時的調整公司經營戰略尋 求新的 Java 贏利模式,任憑別人風生水起,自己卻只管悠哉遊哉的數着因股價飛漲而帶來的綠色鈔票。
 
——此輩若能成事,豈有天理乎!
 
      事後的結果證明,相對於系統內置,小巧靈活,並有足夠強大圖形編輯工具支持的 Flash 。原有的 Applet 技術顯得臃腫、緩慢、不易開發,甚至沒有一款拿得出手的圖形編輯器。  
      要知道,在 IT 領域中按資排輩這種事情根本就不曾有過。即使幾十年的老店,也很可能會被某個車庫中誕生 的新生公司打的體無完膚。 更何況,在那些愚不可及的 Sun 高層眼裏,網頁前端甚至桌面市場或許本就是一盤可有可無的生意,贏了沒什麼不好,輸了也 不可惜。畢竟 Applet 只是 Java 功能中的一小部分, Sun 有 SPARC 、 Solaris 、 Java 這三大法寶,即便 Java 中捨棄了 Applet ,依然有大把本錢,根本不必在意。  
      很明顯,當時的 Sun 高層,對於“佔領桌面,跳進口袋”這樣的經營理念還缺乏認知。 假如他們明白,那麼無論 Applet/AWT/Swing 也好, J2ME 也罷,也決計不會是今天這種地位。   
      此消彼長下, Flash 的興起與 Applet 的墮落幾乎都成了必然,越來越多的開發者投向 Flash 陣營,最終導致了今天 Flash 的興起與 Java ( Applet/AWT/Swing )在網頁前端領域的沒落。
 
在新的時代裏,伴隨 HTML5 的逐漸普及,網頁技術的大洗牌時代將會再次來臨。
 
       正所謂“長江後浪推前浪,前浪 死在沙灘上”,就像當時的 Applet 技術,會被更先進,更進取(也更流氓)的 Flash 技術所取代一樣,新技術體系的出現,永遠是舊有技術體系所無法迴避的恐怖夢魘。 

 

——就連 Adobe 公司與 Flash 也無法逃避這種規律。
 
       誠然,現今的 Flash 比之當初改進了很多, Adobe 將它變得比以前更 完善(他們乾脆重寫了 Flash 核心),除了原有的小動畫、小廣告、小遊戲之外, Flex 的出現讓 J2EE 或其它技術體系能夠利用 Flash 開發商業應用, ActionScript 腳本讓死硬技術派們可以直接編寫出 Flash 程序而不必拖拽界面。小到 AV 視頻展示,大到網絡遊戲應用,幾乎到處都可以見到 Flash 的蹤影, Flash 簡直成了 RIA 的代名詞。   
      無論實際怎樣,在當今這個時代 裏,“夠快、夠簡、夠普及”早已成了人們對 Flash 技術的潛在共識。 然而,這些印象恐怕也只能 維繫到 HTML5 普及以前。 沒錯, HTML5 標準的出現,將徹底顛覆現有的網頁前端生態體系。 
      因爲 HTML5 的誕生,很大程度上就來源於瀏覽器廠商們對於網頁前端技術需求的反思。 乾脆點說,根本就 是對於 Flash 大紅大紫的一種醒悟。
 
在這裏,我們姑且將其想象爲一場陰謀,一場“ HTML5 ”詭計。 

 
      在某個陰暗偏弊的房間裏,業界 的大佬們,或許曾經進行過類似這樣的討論“既然 Flash 用幾 MB 的支持庫就可以在瀏覽器上實現的功能,難道我們這些平臺(瀏覽器)就做不到嗎?既然是人 人都要用到的功能,我們又爲什麼非要通過 Flash 進行中轉實現呢?既然現在大家都需要這些功能,並且尋求更好的用戶體驗,幹嘛不將它們繞 過 Flash ,直接內置到瀏覽器中,以換取既快且穩的效果呢?!” 
       這些人大概會達成這樣一種共識,那就是 Flash 很牛,牛到了幾乎沒它不成。可長此以往,兄弟們恐怕也都沒得混了。所以,只好委屈 Flash 先走一步吧!  
       正如站在汽車上跑步,無論跑得 再快,始終跑不過汽車一樣。任憑 Flash 的 UI 再漂亮、製作再簡便、運行速度再快,它又該如何超越它所在的瀏覽器平臺本身?如何擺脫這 羣大佬巨鱷的魔掌呢? 
       事實上, HTML5 所提供的 API 標準,徹底剋制於 Flash 之上。一旦標準普及,毫無懸念的, HTML5 將秒殺 Flash 。 
       可以設想一下,隨着 HTML5 的逐漸普及,當你通過一個 <video> 標籤就可以播放高清網絡視頻,當你通過一個 <canvas> 標籤就可以渲染出相當靚麗的網頁動畫,當 WebGL 讓你網頁硬件加速,運行出不次於《魔獸世界》的 3D 效果,當 WebSQL 讓你在瀏覽器中保存數據就像操作桌面應用那麼簡單,當 WebSocket 輕而易舉地實現瀏覽器與服務器端通訊之際,誰還會關心什麼 swf ,誰還會記得什麼 Flash ?  
       不客氣地講,當 HTML5 真正普及之日, Flash 的優點都將變得不能再稱爲優點,而它的缺點卻會開始凸現得越來越嚴重。所有依靠 Flash ,特別是依靠 Flash 在網頁方面養家餬口的同仁們,我勸大家千萬不要相信那個關於 HTML5 要到 2022 年纔會正式實施的傳聞,誤以爲還有很長的週期讓 Adobe 改進技術甚至相信 自己能在此前就熬到主管級別。  
       只要稍微看看最近 Chrome 、 FireFox 的更新趨勢,乃至未來的 IE9 規劃,你立刻就會發現,它們會等你到 2022 嗎?絕對不會!不到 2015 年, HTML5 就已經是各個瀏覽器的事實標準了。 
       看到這裏,你或許會說:“胡說! Flash 可不只是那麼一點功能,況且現在有那麼多的 Flash 應用,難道都能輕易捨棄嗎?兼容性問題你都解決了嗎?”

 
——沒錯,原有的 Flash 功能,就是會被人們所遺忘捨棄。
 
       正如有聲電視機取代無聲電視, 電話機取代傳聲筒一樣,讓你在一臺免費的 PS3 ,一臺免費的 Xbox 中抉擇你想要哪臺主機,你可能很難下決定。然而,如果換成一臺是免費的小霸王,一臺是白 來的 Xbox 間抉擇,該搬哪臺回家,肯定不用筆者去教。 
       即便網絡上有 97% 的網站在使用 Flash ,即便網絡上有數不清的 Flash/Flex 應用存在,一旦更簡便、更快捷、更高效的 HTML5 標準普及,這些都會變得毫無意義。  
       畢竟新近的開發者們決不會選擇 一種低效、緩慢、過時、並且可以被替代的技術作爲自己的開發語言。  
       到了這時,就算你給地球上 60 多億人口每人配備一個 Flash 應用,這 60 億也將成爲一個永遠不會增加的死數,也就是 Flash 的極限。而人有壽命,網站同樣也有壽命,即便某些死硬派不願放棄,即便某些死硬網站不改初衷,他們也只能維繫自己這點地盤,卻絲毫影響不了別人的選擇。最終,他們不是被別人吞併,就是自己也改弦更張,至多是死抱着 Flash 直到壽終正寢,但無論如何,遲早都是同樣的下場。  
       談到這裏時,我希望大家不要忘 記,當初 Netscape 的市場佔有率有多少,現在又有多少?更加不要忘記,當初 Applet 在網頁前端應用的市場佔有率有多高,現在又有多高?  
       假如他們的被取代大家都能想通,到了 Flash 被取代時,我們會再犯糊塗嗎?不會。應該說,只要未來普及了 HTML5 ,Flash 回老家結婚就是註定的。  
       或者你還會想,如果低端走不通,那麼我就走中高端,讓 Flash 繼續增加 HTML5 所不具備的特性,畢竟 Flash10 以後的安裝文件也有 10 多 MB 了,所謂“蝨子多了不咬,債多了不愁”,再加點也沒什麼,自然有人會用。 
        嗯,沒錯,如果 Abode 繼續複雜化 Flash 功能,並能夠完成那些 HTML5 所無法實現的複雜應用固然很好。

 

——但是,您是不是忘了點什 麼,真以爲 Java 和 C# 都是擺設不成?
 
        Applet/Javafx , Silverlight 這些現成的網頁前端應用解決方案是擺着好看的嗎? Oracle 、 Microsoft 在複雜應用,尤其是企業級應用上是吃素的嗎?莫非 Flash 開發者就真的集體空閒到會用 N 多年來逐一重複開發輪子,然後再做項目?莫非有現成的一體化解決方案不用,資方還非要用你的 Flash 前臺,微軟或甲骨文的後臺?即便你一口咬定 Flash 開發就是簡單,但這時已經有了更簡便的 HTML5 可用(甚至連 swf 的加載都省了),你又何苦自殘呢?照此發展下去,就算開始時真有幾個想不開的,可一旦做 HTML5 的漸漸多了,傻子始終會不夠用的……  
       就在此刻,只要你去下載最新版 本的 Chrome ,稍微嘗試下 HTML5 即將帶來的全新功能,你就會發現,以前看上去那麼短小精悍的 swf 文件,曾幾何時,怎麼就變得這樣臃腫沒用了呢?!以前那麼豔麗生動的 Flash 動畫,曾幾何時,怎麼就變得這樣繁瑣呆滯了呢?!
 
——我們應該清楚的看到, HTML5 的出現,並不僅是一場技術革新,更是一場業界洗牌!它將徹底破壞現有網頁前端技術的遊戲 規則,將 Flash 打入萬劫不復之地!
 
         再者,這麼多年來 Flash 普及甚廣,吃這碗飯的人不在少數。而反過來說, Flash 程序員品質參差不齊,技術有高有低,被人利用 Flash 種馬,被人利用 Flash 盜取個人信息者更不在少數,對 Flash 深惡痛絕者也不在少數。 
        且不提喬布斯這樣痛罵 Flash 的業界領軍人物,單單是你我這樣的普通技術人員,又有幾個從沒有被網站上的 Flash 廣告搞的頁面崩潰,又有幾個沒有安裝過 FlashBlock 的呢?  
        有些 Flash 開發人員看到此處或許會心有不甘,但至少在網頁前端領域, Flash 的衰落已不可避免,並非你我這樣的凡夫俗子所能干預影響。
 
在這裏,就讓我們提前說一 句:“ Flash 你好, Flash 再見” 吧!

 

來源地址:http://www.cnbeta.com/articles/104989.htm

發佈了44 篇原創文章 · 獲贊 4 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章