html5移動(dòng)開發(fā)的出現(xiàn)讓移動(dòng)平臺(tái)的競(jìng)爭(zhēng)由系統(tǒng)平臺(tái)轉(zhuǎn)向了瀏覽器之間:移動(dòng)端的ie、chrome、firefox、safari,亦或是新出現(xiàn)的瀏覽器,誰能達(dá)到在移動(dòng)端對(duì)html5更好的支持,誰就能在以后的移動(dòng)應(yīng)用領(lǐng)域占據(jù)更多的市場(chǎng)。
更靈活、更方便的app使用及安裝方式將成為ht]l5在移動(dòng)平臺(tái)上大放異彩的保障之一。
下面列舉html5適合移動(dòng)應(yīng)用開發(fā)的幾大特性:
1.離線緩存為html5開發(fā)移動(dòng)應(yīng)用提供了基礎(chǔ)
html5 web storage api可以看做是加強(qiáng)版的cookie,不受數(shù)據(jù)大小限制,有更好的彈性以及架構(gòu),可以將數(shù)據(jù)寫入到本機(jī)的rom中,還可以在關(guān)閉瀏覽器后再次打開時(shí)恢復(fù)數(shù)據(jù),以減少網(wǎng)絡(luò)流量。
同時(shí),這個(gè)功能算得上是另一個(gè)方向的后臺(tái)“操作記錄”,而不占用任何后臺(tái)資源,減輕設(shè)備硬件壓力,增加運(yùn)行流暢性。
在線app支持邊使用邊下載離線緩存,或者不下載離線緩存;而離線app必須是下載完離線緩存才能使用。
形象點(diǎn)說,cookie就是存了電話和菜單,想吃什么要叫外賣,等多長(zhǎng)時(shí)間才能吃到就得看交通情況了;離線緩存就是直接在冰箱里存了食物,想吃就能馬上吃到(當(dāng)然,想吃最新的食物同樣可以打電話預(yù)定)。
設(shè)計(jì)師要知道,什么時(shí)候讓用戶下載離線緩存(注意在線和離線app的區(qū)別)。
2.音頻視頻自由嵌入,多媒體形式更為靈活
原生開發(fā)方式對(duì)于文字和音視頻混排的多媒體內(nèi)容處理相對(duì)麻煩,需要拆分開文字、圖片、音頻、視頻,解析對(duì)應(yīng)的url并分別用不同的方式處理。
html5在這個(gè)方面完全不受限制,可以完全放在一起進(jìn)行處理。
設(shè)計(jì)師要知道,如果新聞?lì)悺⑽⒉╊?、社交類?yīng)用的信息呈現(xiàn)中實(shí)現(xiàn)文字與多媒體混排,而不用專門嵌入webview,將是一件多美好的事情,至少現(xiàn)在原生方式實(shí)現(xiàn)起來還有困難。
3.地理定位,隨時(shí)隨地分享位置
充分發(fā)揮移動(dòng)設(shè)備對(duì)定位上的優(yōu)勢(shì),推動(dòng)lbs應(yīng)用發(fā)展。
可以綜合使用gps、wifi、手機(jī)等方式讓定位更為精準(zhǔn)、靈活。
地理位置定位,讓定位和導(dǎo)航不再專屬導(dǎo)航軟件,地圖也不用下載非常大的地圖包,可以通過緩存來解決,到哪兒下哪兒,更靈活。
設(shè)計(jì)師要知道,現(xiàn)在嵌入lbs功能的應(yīng)用越來越多,這也是移動(dòng)設(shè)備與臺(tái)式pc相比最大的優(yōu)勢(shì)之一,html5能把這個(gè)優(yōu)勢(shì)再度擴(kuò)大化,好好想想怎么在你設(shè)計(jì)的應(yīng)用里用上吧!
4.canvas繪圖,提升移動(dòng)平臺(tái)的繪圖能力
使用canvas api可以簡(jiǎn)單繪制熱點(diǎn)圖收集用戶體驗(yàn)資料
支持圖片的移動(dòng)、旋轉(zhuǎn)、縮放等常規(guī)編輯
canvas – 2d的繪圖功能支持
canvas 3d – 3d的繪圖功能支持
svg – 向量圖支援
設(shè)計(jì)師要知道,圖片的移動(dòng)、旋轉(zhuǎn)、縮放?那都太基礎(chǔ)了,自己畫都是小case,至于怎么用,好好想想吧!
5.專為移動(dòng)平臺(tái)定制的表單元素
瀏覽器中出現(xiàn)的html5表單元素與對(duì)應(yīng)的鍵盤:
類型用途鍵盤
text正常輸入內(nèi)容標(biāo)準(zhǔn)鍵盤
tel電話號(hào)碼數(shù)字鍵盤
email電子郵件地址文本框帶有@和.的鍵盤
url網(wǎng)頁的url帶有.com和.的鍵盤
search用于搜索引擎,比如在站點(diǎn)頂部顯示的搜索框標(biāo)準(zhǔn)鍵盤
range特定值范圍內(nèi)的數(shù)值選擇器,典型的顯示方式是滑動(dòng)條滑動(dòng)條或轉(zhuǎn)盤
只需要簡(jiǎn)單的聲明 即可完成對(duì)不同樣式鍵盤的調(diào)用,簡(jiǎn)捷方便。
設(shè)計(jì)師要知道,用的時(shí)候記得告訴研發(fā)同事一聲!
6.豐富的交互方式支持
提升互動(dòng)能力:拖拽、撤銷歷史操作、文本選擇等
transition – 組件的移動(dòng)效果
transform – 組件的變形效果
animation – 將移動(dòng)和變形加入動(dòng)畫支持
設(shè)計(jì)師要知道,html5提供的交互方式是非常豐富的,至于用不用得上,那是你自己的事兒嘍!
7.html5使用上的優(yōu)勢(shì)
更低的開發(fā)及維護(hù)成本;
使頁面變得更小,減少了用戶不必要的支出;而且,性能更好使耗電量更低;
方便升級(jí),打開即可使用最新版本,免去重新下載升級(jí)包的麻煩,使用過程中就直接更新了離線緩存。
設(shè)計(jì)師要知道,用戶想要什么,html5能提供給用戶什么。
8.css3 視覺設(shè)計(jì)師的輔助利器
css3支持了字體的嵌入、版面的排版,以及最令人印象深刻的動(dòng)畫功能。
selector – 更有彈性的選擇器
webfonts – 嵌入式字體
layout – 多樣化的排版選擇
stlying radius gradient shadow – 圓角、漸變、陰影
border background – 邊框的背景支持
使用css3來完成部分視覺工作,載入速度快,節(jié)省代碼及圖片,也為用戶節(jié)約了帶寬。
設(shè)計(jì)師要知道,一個(gè)界面里幾十張素材圖的方式已經(jīng)太out啦,趕快讓css3幫你偷懶。
9.實(shí)時(shí)通訊
以往網(wǎng)站由于http協(xié)議以及瀏覽器的設(shè)計(jì),實(shí)時(shí)的互動(dòng)性相當(dāng)?shù)氖芟?,只能使用一些技巧來「仿真」?shí)時(shí)的通訊效果,但html5提供了完善的實(shí)時(shí)通訊支持。
設(shè)計(jì)師要知道,應(yīng)用中嵌入實(shí)時(shí)通信、信息內(nèi)容進(jìn)行實(shí)時(shí)提醒,html5可以幫你實(shí)現(xiàn)。
10.檔案以及硬件支持
不知道大家有沒有發(fā)現(xiàn),在gmail等新的網(wǎng)頁程序當(dāng)中,已經(jīng)可以透過拖拉的方式將檔案作為郵件附件?這就是html5檔案的功能中的drag’n drop和file api。
設(shè)計(jì)師要知道,移動(dòng)應(yīng)用中對(duì)于數(shù)據(jù)傳輸?shù)男枨笤絹碓酱?,傳統(tǒng)的路徑選擇方式太過于繁瑣,快來試試html5的拖拽上傳功能吧!
11.語意化
語意化的網(wǎng)絡(luò)是可以讓計(jì)算機(jī)能夠更加理解網(wǎng)頁的內(nèi)容,對(duì)于像是搜索引擎的優(yōu)化(seo)或是推薦系統(tǒng)可以有很大的幫助。
設(shè)計(jì)師要知道,html5能讓搜索更快速、更準(zhǔn)確。
12.雙平臺(tái)融合的app開發(fā)方式,提高工作效率
依照目前iphone/android 迅速提升市占率的情勢(shì)來看,未來如果想要在先進(jìn)的智慧型手機(jī)上撰寫應(yīng)用程式,要不是選擇使用objective-c + cocoatouch framework 撰寫iphone/ipad 應(yīng)用程式,就是選擇java + android framework 撰寫android 應(yīng)用程式,如果想要同時(shí)支援兩種平臺(tái),勢(shì)必要維護(hù)兩套程式碼,對(duì)于剛起步的小服務(wù)而言也算是個(gè)小有負(fù)擔(dān)的維運(yùn)成本。
使用html5, css3 來撰寫web-based 的應(yīng)用程式,若要同時(shí)支援iphone 及android,幾乎只需要維護(hù)一份程式碼(少部份要因應(yīng)clients 作修改),而且未來若有其它行動(dòng)裝置擁有支援html5 的瀏覽器,那同樣的webapp 直接就多了一個(gè)支援平臺(tái)。
google 的系列服務(wù)使用了不少html5 中的cache、storage 及database 規(guī)格來做到離線存取程式的效果。因?yàn)楸绕鹱烂鎽?yīng)用程式,行動(dòng)裝置的網(wǎng)路連線更不穩(wěn)定,而且有時(shí)在移動(dòng)中并無網(wǎng)路可以使用,透過這些技術(shù)才能讓使用者即使在無網(wǎng)路環(huán)境下繼續(xù)使用你的webapp。這說明html5主要服務(wù)對(duì)象還是給予web的應(yīng)用,并不會(huì)對(duì)全部app開發(fā)造成威脅,這樣有利于不同類型應(yīng)用使用不同的開發(fā)方式,靈活性更強(qiáng)。
更多信息請(qǐng)查看IT技術(shù)專欄