Internet 從一開始的美國軍用 ARPA 網路協定逐漸變成世界共用的網路通訊標準,而另一項製作網頁的標準 HTML,則可能成為跨平台泛用軟體的開發標準。
稍微懂這些術語的讀者應該很清楚,HTML 在一開始僅是網頁排版的標準協定,但現今所指的 HTML5 技術則不再僅限於如此,多種擴充功能已經讓 HTML5 技術可以顯示多媒體、偵測使用者的鍵盤/滑鼠/觸控等行為而且與之互動,當然也能連結各式的感應器、控制攝影機與麥克風等。
簡單說來,就是大部分程式設計所需要的功能,都能透過 HTML5 完成了。
有沒有例外?有,如系統底層的驅動程式等,仍需要針對原生系統使用傳統的程式語言與編譯器才能完成,所以筆者才會特別將範圍侷限在跨平台的泛用軟體。(題外話,有人說現在大家都用鍵盤寫稿,所以不該再自稱筆者而該自稱鍵人,若用平板或智慧手機寫稿的該稱為觸生。)
先前 Facebook 認為 HTML5 相較於平台原生技術效率不佳,而改用 iOS 原生技術改寫 App,不過也有專家指出那不是 HTML5 的錯,是 Facebook 自家的問題。
不管 HTML5 是不是效率不彰,從開發者角度來看,現今大部分設備都支援 HTML5,甚至可以縮小到 WebKit 相關技術,開發一次之後,可以套用到大部分平台的吸引力絕對會大於效率問題。
再加上一些以 HTML5 為基礎的跨平台開發架構、套件如 Tizen、Titanium Mobile、PhoneGap、Corona 等推波助瀾之下,許多跨平台開發人員都開始利用 HTML5 技術同步開發 iOS 與 Android 程式。今年 2 月的一份報告顯示,有 39% 的開發人員使用 HTML5 技術開發跨平台軟體,純粹使用平台專用技術開發的僅有 15%,混用兩種技術的為 32%。
這種趨勢也讓新一代的智慧手機作業系統有機可乘。Firefox OS 是目前 iOS 與 Android 之外最受矚目的作業系統之一,其應用程式都是由 HTML5 技術來達成,包含撥打電話、拍照、攝影、錄音、導航等等。其他的行動裝置作業系統如三星與 Intel 合作的 Tizen、Ubuntu 等,也都大量依賴 HTML5 技術來製作應用程式。
這些新生代行動裝置作業系統架構與 Google 的 Chrome OS 類似,都是使用 Linux 作為系統的底層,再透過 HTML5 提供各式功能,而且軟體可以選擇提供離線操作的功能。其實 Android 也是類似的架構,只是當時 HTML5 還沒有那麼成熟,因此選用 Java 衍生的技術。
如果您正使用 HTML5 開發,歡迎留言告訴我們你所使用的開發架構或套件,謝謝!
- 延伸閱讀:
FB 執行長馬克說 HTML5 是個錯誤?Sencha:錯的是 FB 的技術
(圖片來源:Cannon Shen)