HTML5的重要性與日俱增,在可預見的未來也還會在許多使用者案例中繼續成為統治性的平臺。 企業架構師需要考慮將HTML5能力納入其應用開發工具鏈當中,尤其是企業內部運行的基於瀏覽器的應用以及通過PC瀏覽器訪問的面向消費者的應用。 現在HTML5和CSS3已經接班Flash和Silverlight, 成為桌面上基於瀏覽器提供多媒體功能的事實上的標準。
把利用HTML5開發移動應用放到合適的背景下也很重要。 如IDC的計畫主管Al Hilwa 所述,HTML5通常指的是通過瀏覽器交付的應用,而原生指的是使用平臺相關語言編寫的app,包括結合了HTML5與用戶端特有庫的混合型app。 Hilwa最近發佈了一份報告,名字叫做《HTML5的發展情況》
HTML5的諸多權衡
有些企業,如金融時報,已經從利用對HTML5的專注作為避免應用商店相關費用的手段中看到了巨大的好處。 與此同時,其他一些企業,如Facebook、LinkedIn等,一直在鼓噪從HTML5開發轉移到原生開發,因為只有後者才能提供擁有豐富功能的更為出色的應用。
Hilwa指出,HTML5應用面臨著來自于開發者工具數量不足、開發者技能不成熟、安全、弱瀏覽器實現等挑戰。 但與此同時,它也提供了許多潛在好處,諸如允許單代碼庫跨平臺部署,供應商支援,以及生態體系的帶動作用,包括不同範圍的單點工具、框架及解決方案等。
Hilwa預計將會看到HTML5在特定門類如訪問企業資源的內部員工應用中取得最大成功。 現在HTML5在桌面正在被重度使用,移動HTML5在移動側在休閒類遊戲中也越來越受歡迎。 Hilwa預計在結合了可跨平臺重用的基本HTML5代碼與原生庫以求更好性能的混合型中將會看到最大的使用。
充滿挑戰
HTML5平臺本身也面臨著許多挑戰,從缺乏貫穿所有瀏覽器實現的完整標準,不成熟的開發者工具,性能影響到在原生設備的特性支援等。 此外,通過HTML5交付的現代app所需的豐富功能集依賴于一堆技術的混合,包括HTML5、CSS、JavaScript及WebRTC等,每一個都要面對自己的開發者工具、實現及安全問題。
在移動平臺,許多開發者希望把HTML5功能編織到訪問原生裝置功能的元件中,利用混合app將HTML5和原生代碼庫融合到一起,如Adobe為Apache Foundation貢獻的Apache PhoneGap就是這樣一個庫。
Gartner預計到2016年,超過50%的移動應用將會是混合型的,該機構建議組織評估開發框架,尋找可讓他們利用同一套代碼庫來開發原生、混合及web應用的框架。 企業還應該考慮合併跨平臺框架的開發活動,Gartner的研究副總裁Van Baker說。 這一趨勢反映在開發者招聘公告上,據職位清單服務indeed.com分析發現,HTML5經驗是增長最快且被搜索次數占統治地位的線上工作公告搜索關鍵字。 目前是排名第一的關鍵字,超過了iOS(第3位)和Android(第4位)。
移動化
然而,看看移動端,純HTML5開發面臨著競爭性方案的激烈競爭,包括混合原生開發,這是移動開發工具供應商Appcelerator基於其對移動開發者的最新調查做出的報告。
Appcelerator企業戰略總監Michael King告訴SearchSOA說:「我們發現移動對HTML5的興趣不慍不火,這是普遍現象。 如果你正在開發一款更為面向大眾市場的應用,或者在內部尋找使用者實現業務流程的移動化,可以說對HTML5的反應欠佳。 移動HTML5開發者遭遇了三個關鍵挑戰—性能、安全及對設備感應器的訪問。 在離線訪問的情況下,HTML5應用只能處理緩存進瀏覽器的東西,這在安全方面存在限制,而且大部分情況下應用邏輯是無法緩存的。 」
對HTML5沒有的原生感應器和API的訪問上也有限制。 iPhone 5有6種感應器,最近的iOS有1500多個純HTML5應用很難利用的API。 「開發一款無法引導員工的地圖應用,或者沒有保險計價的性能應用又有什麼意義呢,」King說。
當範圍比性能重要時
同時,King也看到在一些特定應用門類中大家全心全意地對HTML5敞開懷抱。 他發現,在內容消費和客戶獲取的表格型應用方面HTML5的使用不斷增長。 但是互動式應用、遊戲及地圖應用這些有嚴重設備需求的應用正在避開HTML5。 King解釋說:「當我們與開發者交談時,他們都喜歡HTML5的思路和承諾,即可以編寫既可在最大的平板電腦和最小的智慧手機上運行的回應式Web應用。 」
表單型及簡單的客戶獲取應用的一些HTML5的缺點並不明顯。 表單不需要訪問大量感應器,性能也不是大問題。 客戶獲取app不需要經過應用商店審查,很多時候通過電子郵件的一個連結即可訪問。
儘管King的確看到了桌面應用與混合移動app利用HTML5編碼的一些機會,要記住這些平臺的用例的不同,這一點很重要。 「我需要既能在桌面又能在智慧手機上運行的應用,這種想法並未考慮到有多少人在使用這些東西。 我建議針對桌面和移動開發不同的應用,它們各自考慮到了那些平臺不同的工作流。 」
新規範擴大了HTML5的範圍
相比之下,其他一些開發者相信HTML5開始在移動應用開發中扮演帶頭角色。 Web應用開發軟體公司的軟體發展經理Tyler Wassell看到的情況是對HTML5的興趣不斷增長,超過了對原生的興趣。 他解釋說:「帶有新的JavaScript API的HTML5給瀏覽器帶來了強勁的通信、web資料存儲、檔管理能力,更重要的是給移動瀏覽器帶來了這些能力。 因為這一點我認為我們將看到越來越多的移動web應用替代原生移動應用。 」
隨著JavaScript這個web的程式設計語言能讓開發者利用HTML5能力,Wassell指出對使用該語言的興趣正在不斷增長。 現在對全棧JavaScript開發的討論非常多, 比如NOSQL資料庫用像MangoDB,應用伺服器用Node.js,還有數量不斷增長的用來渲染內容的JavaScript用戶端框架,如Angular.js、 Ember.js以及Backbone.js。 Wassel說:「在web應用開發方面,我看到的是JavaScript/HTML5在不斷發展,在Web中佔據了統治地位。 」
另外,HTML5核心能力和開發者工具的改進也使得HTML5對越來越多的應用越來越有用。 比方說,Wassell看到對資料驅動應用就存在需求,這種應用可以在互聯網連接不存在時繼續工作。 為了實現這一點,開發者求助於HTML5應用緩存來存儲應用資源。 「如果沒有HTML5我們無法做到這一點,」他說。
其他強大的HTML5功能,如Web Sockets、Server Sent Events、Web Messaging等也引起了很大的興趣。 Wassell說:「這些功能裡面有的尚未完全成熟,但是在改善web瀏覽器和伺服器之間的通信方面前景光明,這可以帶來更為原生移動應用式的體驗,如推送通告等。 」
從長遠看,IDC的Hilwa預期將會看到HTML5和原生移動應用並存的局面而不是相互替代。 但是原生應用平臺仍將是移動應用的主要交付手段。