
常州市新北區典雅商業廣場2號樓501、502、525、526
目前網上已經有不少的HTML5演示代碼,甚至商用網頁了。或許是因為仍處于起步階段的緣故,我們看到的更多是一些分散的特性,而不是渾然一體的一只大象。HTML技術的奇妙之處就在于,人們永遠可以基于現有的、成熟的、分散的技術,來組合實現強大的功能,就好象HTML4+CSS+AJAX+JSON+...這些組合一樣,所以我們也有理由相信,幾年之后HTML5的成熟應用所展示出來的功能和效果,或許會讓人們忘記它和本地應用之間的差別。
那么現在開發者們都在做些什么呢?從我接觸到的一些身邊的一些HTML愛好者,開源社區的開發者,論壇的技術人員...等來看,大致有以下幾類(有些分類不太嚴格,畢竟大家都處于摸索階段):
1)框架,或者引擎
如前所述,HTML5確實定義了不少新接口,但就如同不是任何網絡應用開發者都希望自己直接操作Socket一樣,開發者們肯定希望基于一套功能強大且性能穩定的庫來開發自己的應用。像游戲這類開發,人們就需要一個引擎,從而把更多精力放在內容和邏輯的創建上。
HTML4時代就有很多著名的JS框架/庫,例如Prototype、jQuery等(雖然都號稱輕量級,但在Galaxy I9000這種級別的手機上運行起來仍然氣喘吁吁,甚至會crash)。現在很多公司也在提供自己的游戲引擎,或是擴展支持HTML5新接口,或是改寫以前用于桌面平臺的框架/庫,使其更適合移動設備...等等。
2)與特定的操作系統整合
畢竟HTML5只是一套標準,各個平臺實現基本不一樣,有些平臺還提供自己特有的接口,所以有些公司會在主流操作系統(例如開源的Android)上,做一些適配甚至是改善性的功能,例如一個適合觸摸屏的、甚至多點觸摸的游戲引擎。
3)功能改善和增強
我們知道HTML5和JavaScript這類在客戶端解釋執行的機制與本地二進制應用相比,在執行效率、圖形能力等方面都有先天弱勢,此外還存在代碼知識產權的保護等問題。所以有些公司設計的引擎是在服務器端進行預編譯后才嵌入到網頁的,這樣對執行效率和代碼保護都有幫助。
4)開發工具,IDE等
這個貌似只有微軟、IBM、Adobe等大公司才有能力做的事情,但一些開源社區或小組織也在默默耕耘,他們的產品可能不是大而全的,但一定是因為某幾個很好的feature而吸引使用者的。
5)移植、Demo、再造應用等
在初期這部分開發者比例或許是最大的,比如說有人將一些好玩的iOS或Android應用用HTML5來實現,有人用HTML5實現某個著名的街機游戲等。或許有人會說做這些事情意義不大,但至少這些應用讓我們見識到了HTML5的強大:我自己也沒想到,一些HTML5的游戲這么快就能在我的智能手機上如此流暢的運行起來了。此外在移植和嘗試的過程中,你會率先使用新的接口,率先遇到更深層次的問題,并在調試的過程中獲得大量經驗值和寶貴的解決方案。
6)媒體、出版行業
其實這是我個人最希望看到:傳統媒體和出版行業可以利用HTML5來在互聯網領域占領自己的那一片山頭,畢竟他們是內容生產者,只要充分利用HTML5這個發布工具,他們就能把傳統領域中流失的一部分用戶重新又爭取回來。而我們(用戶)也能在碎片時間中以更好的用戶體驗(跨平臺的、比HTML4更好的),獲得更好的內容(而不僅僅是互聯網的海量垃圾信息)。
當然還有很多開發者在做一些有意思的事情,,沒法一一羅列。作為個人而言,盡早的去接觸新的技術總是有益無害的。很多人可能會發現,粗略學了一遍HTML5下來,還是不知道自己該做些什么——好的應用往往是從實際需求而來的,不是拍腦瓜空想出來的。有一個趨勢是這樣的:我發現越來越少有人寫一些“孤島”式的應用(練手、Demo、定制等除外),不論對本地應用還是HTML5應用都是如此。有實力、技術強的公司和團隊往往更愿意從事框架、引擎等基礎設施,或是與內容產生相結合、與云相結合的研發。