隨筆 移動App 本地應用還是html5?

2021-08-26 13:57:47 字數 1364 閱讀 1017

時間回溯到10多年前,那個時候如果要開發一套針對中小企業的資訊化方案,我想大多數開發者馬上會想到delphi,利用delphi提供的相關框架和元件,可以很快速的構建以資料為中心的應用,那個時候我們稱之為c/s架構。2023年前後,隨著asp、jsp以及相關服務端指令碼技術的快速發展,加上網際網路發展的衝擊,基於b/s架構的解決方案開始替代c/s架構,以瀏覽器作為客戶端操作載體,伺服器端統一維護和發布。

第一: 基於html的應用可以跨平台,這個可能是任何人談到這個話題的第一反應,我也不例外,你使用標準的html技術開發的應用,基本可以在絕大多數主流的移動平台上平滑執行,甚至於你採用的html5的技術也能在移動裝置上表現良好,反而是pc上還不得不考慮瀏覽器的相容性;

第二,採用標準html意味著你不費力氣就獲得了大量的開發人員,因為原有的網際網路web開發人員基本都可以稍加學習即可直接開發基於移動裝置的應用;

第三,如果你基於html的應用是部署在伺服器端,而移動裝置通過移動瀏覽器或輕量級封裝的本地應用來訪問,那你頃刻間獲得原有傳統web應用的好處,不用考慮系統公升級維護的煩惱,因為你只需要做好你服務端的程式即可;

第四,html5在互動、表現力度、豐富度方面與原有標準比有著極大的提公升,在人機互動上基本可以滿足使用者的期望值,而現有的主流移動作業系統對html5的支援很好,市場上的智慧型手機裝置基本都或多或少支援html5規範,這無疑對開發者是個良好的開端。

以上談論的都是優點,但不可否認,使用html技術來開發移動應用還是有其短板的。其中基於html開發可否訪問本地資源或系統功能,這恐怕是諸多開發者問的最多的問題!關於這點,我們要從兩種型別的應用來看,一種是基於移動裝置瀏覽器來訪問的應用,由於受瀏覽器安全機制的束縛,基本不能與系統層進行互動(這裡指移動平台的系統api介面),當然瀏覽器本身暴露的可訪問介面除外,但是這一類的應用我們還是可以充分利用裝置本身的計算和儲存能力,避免過多的網路請求或者非核心的計算請求,在這一類的請求中,比較集中的就是資料的儲存、整理和展現工作,而html5當中的web sql database和web storage兩個規範基本可以滿足我們對常見資料處理的要求。我們再來看看另外一種html的應用,即使用本地**對系統瀏覽器進行乙個輕量級的封裝,然後通過這個內嵌的瀏覽器元件來完成使用者需要的功能,主流的移動平台在這裡,都可以通過某種方式讓開發者可以通過定製的url分析,從而將使用者的操作行為轉換為對系統層的訪問,這種方式就繞開了瀏覽器的安全機制,在系統層和瀏覽器之間架設了乙個橋梁,但是,不幸的是這個橋梁不是萬能的,並不是所有的系統層功能都能方便的通過這個橋梁來訪問和使用。開源專案phonegap在這個方面已經做得相當不錯,遮蔽了各個平台的差異性,以一致性的介面封裝,讓開發人員用js來訪問系統功能。因此,使用html來開發移動應用,其最讓人詬病的就是無法深入挖掘系統功能和硬體特性,拋開這點不說,不管你採用上述哪種方式來開發基於html的應用,如果是資料密集型的應用,其實真的是乙個不錯的選擇。

HTML5開啟本地app應用的方法

首先為了保證能夠開啟你的app,你必須要在androidmanifest.xml中配置的filter中data的屬性表述。androidmanifest.xml 如下 xml html code複製內容到剪貼簿 其次,你要在你的網頁中訪問xttblog taoge open。可以使用的元素有很多,如...

H5 混合移動app應用開發 開篇

html5 html5 vue.js mui js 為什麼有vue.js?vue.js是一款mvvm框架,也是目前三大流行的mvvm前端框架之一 另外兩種 react和angular 在做技術選型之前,我有先對這三種框架去做乙個簡單的研究,後面感覺還是vue.js的語法比較優雅,就像我喜歡c 語言一...

H5 混合移動app應用開發 開篇

html5 html5 vue.js mui js 為什麼有vue.js?vue.js是一款mvvm框架,也是目前三大流行的mvvm前端框架之一 另外兩種 react和angular 在做技術選型之前,我有先對這三種框架去做乙個簡單的研究,後面感覺還是vue.js的語法比較優雅,就像我喜歡c 語言一...