天天看點

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