淺析HTML5在移動應用開發中的使用

前言

HTML5的出現讓移動平臺的競爭由系統平臺轉向了瀏覽器之間:移動端的IE、Chrome、FireFox、Safari,亦或是新出現的瀏覽器,誰能達到在移動端對HTML5更好的支持,誰就能在以後的移動應用領域佔據更多的市場。

現在我們怎麼裝APP

有了HTML5以後怎麼裝APP

更靈活、更方便的app使用及安裝方式將成爲HTML5在移動平臺上大放異彩的保障之一。

下面列舉HTML5適合移動應用開發的幾大特性:

1.離線緩存爲HTML5開發移動應用提供了基礎

 

HTML5 Web Storage API可以看做是加強版的cookie,不受數據大小限制,有更好的彈性以及架構,可以將數據寫入到本機的ROM中,還可以在關閉瀏覽器後再次打開時恢復數據,以減少網絡流量

同時,這個功能算得上是另一個方向的後臺“操作記錄”,而不佔用任何後臺資源,減輕設備硬件壓力,增加運行流暢性。

在線app支持邊使用邊下載離線緩存,或者不下載離線緩存;而離線app必須是下載完離線緩存才能使用。

形象點說,cookie就是存了電話和菜單,想吃什麼要叫外賣,等多長時間才能吃到就得看交通情況了;離線緩存就是直接在冰箱裏存了食物,想吃就能馬上吃到(當然,想吃最新的食物同樣可以打電話預定)。

設計師要知道,什麼時候讓用戶下載離線緩存(注意在線和離線app的區別)。

 

2.音頻視頻自由嵌入,多媒體形式更爲靈活

 

原生開發方式對於文字和音視頻混排的多媒體內容處理相對麻煩,需要拆分開文字、圖片、音頻、視頻,解析對應的URL並分別用不同的方式處理。

HTML5在這個方面完全不受限制,可以完全放在一起進行處理。

設計師要知道,如果新聞類微博類社交類應用的信息呈現中實現文字與多媒體混排,而不用專門嵌入webview,將是一件多美好的事情,至少現在原生方式實現起來還有困難。

 

3.地理定位,隨時隨地分享位置

 

充分發揮移動設備對定位上的優勢,推動LBS應用發展。

可以綜合使用GPS、wifi、手機等方式讓定位更爲精準、靈活。

地理位置定位,讓定位和導航不再專屬導航軟件,地圖也不用下載非常大的地圖包,可以通過緩存來解決,到哪兒下哪兒,更靈活。

設計師要知道,現在嵌入LBS功能的應用越來越多,這也是移動設備與臺式PC相比最大的優勢之一,HTML5能把這個優勢再度擴大化,好好想想怎麼在你設計的應用裏用上吧!

 

4.Canvas繪圖,提升移動平臺的繪圖能力

 

使用Canvas API可以簡單繪製熱點圖收集用戶體驗資料

支持圖片的移動、旋轉、縮放等常規編輯

Canvas – 2D的繪圖功能支持

Canvas 3D – 3D的繪圖功能支持

SVG – 向量圖支援

設計師要知道,圖片的移動、旋轉、縮放?那都太基礎了,自己畫都是小case,至於怎麼用,好好想想吧!

 

5.專爲移動平臺定製的表單元素

 

瀏覽器中出現的html5表單元素與對應的鍵盤:

類型 用途 鍵盤
Text 正常輸入內容 標準鍵盤
Tel 電話號碼 數字鍵盤
Email 電子郵件地址文本框 帶有@和.的鍵盤
url 網頁的URL 帶有.com和.的鍵盤
Search 用於搜索引擎,比如在站點頂部顯示的搜索框 標準鍵盤
range 特定值範圍內的數值選擇器,典型的顯示方式是滑動條 滑動條或轉盤

只需要簡單的聲明 <input type=”email”> 即可完成對不同樣式鍵盤的調用,簡捷方便。

設計師要知道,用的時候記得告訴研發同事一聲!

 

6.豐富的交互方式支持

 

提升互動能力:拖拽撤銷歷史操作、文本選擇

Transition – 組件的移動效果

Transform – 組件的變形效果

Animation – 將移動和變形加入動畫支持

設計師要知道,HTML5提供的交互方式是非常豐富的,至於用不用得上,那是你自己的事兒嘍!

 

7.HTML5使用上的優勢

 

更低的開發及維護成本;

使頁面變得更小,減少了用戶不必要的支出;而且,性能更好使耗電量更低;

方便升級,打開即可使用最新版本,免去重新下載升級包的麻煩,使用過程中就直接更新了離線緩存。

設計師要知道,用戶想要什麼,HTML5能提供給用戶什麼。

 

8.CSS3 視覺設計師的輔助利器

 

CSS3支持了字體的嵌入、版面的排版,以及最令人印象深刻的動畫功能。

Selector – 更有彈性的選擇器

Webfonts – 嵌入式字體

Layout – 多樣化的排版選擇

Stlying radius gradient shadow – 圓角、漸變、陰影

Border background – 邊框的背景支持

使用CSS3來完成部分視覺工作,載入速度快,節省代碼及圖片,也爲用戶節約了帶寬。

設計師要知道,一個界面裏幾十張素材圖的方式已經太out啦,趕快讓CSS3幫你偷懶。

 

 

9.實時通訊

 

以往網站由於HTTP協議以及瀏覽器的設計,實時的互動性相當的受限,只能使用一些技巧來「仿真」實時的通訊效果,但HTML5提供了完善的實時通訊支持。

設計師要知道,應用中嵌入實時通信、信息內容進行實時提醒,HTML5可以幫你實現。

 

10.檔案以及硬件支持

 

不知道大家有沒有發現,在Gmail等新的網頁程序當中,已經可以透過拖拉的方式將檔案作爲郵件附件?這就是HTML5檔案的功能中的Drag’n Drop和File API。

設計師要知道,移動應用中對於數據傳輸的需求越來越大,傳統的路徑選擇方式太過於繁瑣,快來試試HTML5的拖拽上傳功能吧!

 

11.語意化

 

語意化的網絡是可以讓計算機能夠更加理解網頁的內容,對於像是搜索引擎的優化(SEO)或是推薦系統可以有很大的幫助。

設計師要知道,HTML5能讓搜索更快速、更準確。

 

12.雙平臺融合的app開發方式,提高工作效率

 

依照目前iPhone/Android 迅速提升市佔率的情勢來看,未來如果想要在先進的智慧型手機上撰寫應用程式,要不是選擇使用Objective-C + CocoaTouch Framework 撰寫iPhone/iPad 應用程式,就是選擇Java + Android Framework 撰寫Android 應用程式,如果想要同時支援兩種平臺,勢必要維護兩套程式碼,對於剛起步的小服務而言也算是個小有負擔的維運成本。

使用HTML5, CSS3 來撰寫Web-based  的應用程式,若要同時支援iPhone 及Android,幾乎只需要維護一份程式碼(少部份要因應clients 作修改),而且未來若有其它行動裝置擁有支援HTML5 的瀏覽器,那同樣的WebApp 直接就多了一個支援平臺。

Google 的系列服務使用了不少HTML5 中的cache、storage 及database 規格來做到離線存取程式的效果。因爲比起桌面應用程式,行動裝置的網路連線更不穩定,而且有時在移動中並無網路可以使用,透過這些技術才能讓使用者即使在無網路環境下繼續使用你的webapp。這說明html5主要服務對象還是給予web的應用,並不會對全部app開發造成威脅,這樣有利於不同類型應用使用不同的開發方式,靈活性更強。

關於HTML5,設計師要知道些神馬

對於設計師,瞭解HTML5並不是要學會寫代碼,而是要知道HTML5有什麼特性,能實現什麼效果,以便在設計過程中熟練應用。

除此之外,需要知道哪些產品適合使用HTML5進行開發,哪些適合使用原生方式進行開發,畢竟最快、最方便的開發方式是最好的。

再進一步,原生&HTML5的符合開發方式會逐步成爲潮流,哪個部分最適合使用HTML5進行開發,也應該能夠分辨出來。

 

什麼類型的應用最適合用HTML5開發

 

就目前來說,依託於網絡,web上已經出現的,基於信息流方式及類似方式的應用最適合使用HTML5進行開發。

什麼應用是這樣的:微博社交新聞

其他適合使用HTML5開發的應用類型:地圖導航

 

爲什麼用HTML5會更好

 

信息流架構應用都是直接在web(或wap)端抓取數據,HTML5可以直接使用跨平臺數據而不用使用後臺API,大大降低研發、維護成本,而且呈現效果幾乎沒有什麼區別

地圖類能充分發揮HTML5對於離線緩存及地理定位方面的功能,將地圖下載到本地,然後配合定位進行搜索、導航等功能(形式靈活,不用提前下載大容量的地圖包,節省流量)

 

下面介紹一些使用HTML5開發的web應用

 

google+

 

 

新浪微博

 

 

百度小說

 

 

FT web app  app.ft.com

 

 

不停走動的倒計時器 

 

 

終端上實現素描效果  

 

 

吃豆遊戲iPhone版   

 

 

圖表實時繪製應用    

 

 

怎麼用HTML5開發移動應用

對於純離線類的app,目前HTML5展現出來的實力還不是非常強勁,從交互體驗和視覺呈現來說與原生方式開發的app還有一定的差距,希望隨着HTML5的不斷完善,能夠趕超原生模式

事實上,移動應用的開發方式往往不是那麼死板只用一種方式的,HTML5配合原生方式可能會獲得更好的效果:利用原生方式搭建本地架構,讓用戶獲得更加貼近於設備的交互體驗,同時在信息的呈現上使用HTML5的優勢,以強強聯手的方式爲用戶打造最好的移動應用。

 

實例:網易博客Android客戶端

 

HTML5現狀及展望

現在HTML5的標準還沒有完全定製完成,整體開發方式上還沒有一個規範性的內容,導致的結果是開發者開發的應用比較混亂,體驗上也不及原生方式開發的應用,如果想要更好的用戶體驗,需要更多的優化。

對於移動設備硬件的接口API,目前使用HTML5還不能方便調用移動設備的攝像頭、話筒、重力感應器、GPS等硬件設備,不過這也只是時間問題,相信隨着HTML5的越發完善,這樣的功能一定也會支持的。

還有一個方面就是瀏覽器之爭,一個全面強大的移動端瀏覽器將對HTML5在移動平臺上的發展起到至關重要的作用。

Safari、Chrome、Firefox、IE…誰能脫穎而出,我們拭目以待。

期待HTML5未來在移動平臺散發炫目的光彩!

由於目前網絡上相關內容較少,以上內容多爲自己總結,肯定有不太對的地方,還請大家多多指正。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章