移動端開發之Web App開發

寫在前面:本人剛剛接觸移動端開發,希望自己的見解能夠幫助到他人,不足之處還望提醒。


1 移動端開發分類

1.1 Native App 原生App開發

優點:

(1)用戶體驗好

(2)性能穩定

(3)操作速度快

(4)能夠訪問本地資源(通訊錄,相冊)

(5)能夠設計出色的動效,轉場

(6)擁有系統級別的貼心通知或提醒

(7)用戶留存率高

缺點:

(1)開發成本高

(2)維護成本高

(3)更新緩慢,根據不同平臺,提交–審覈–上線流程較複雜。

總的來說,native app開發從android、ios智能手機出現就有了開發技術,性能體驗最優,API比較完善,但是學習起來難度比較高,開發成本比較高(跟開發週期相對來說比較長也是有關係的)。

2 Web App 網頁App開發

優點:

(1)發版完全自控,隨時更新

(2)跨平臺,因爲本身來說用的是Web的東西,所以可以在任意平臺上運行

(3)成本小,Web頁面嵌入Webview開發起來速度非常快,一個人就可以輕鬆搞定

缺點:

(1)性能差

(2)弱網絡或無網絡條件下體驗差

(3)適用有展示類需求的項目,但是如果要實現的功能比較複雜的話就顯得力不從心

總的來說,相比Native App,Web App體驗中受限於網絡環境和渲染性能。Web APP對網絡環境的依賴性較大,因爲Web APP中的H5頁面,當用戶使用時,去服務器請求顯示頁面。如果此時用戶恰巧遇到網速慢,網絡不穩定等其他環境時,用戶請求頁面的效率大打折扣,在用戶使用中會出現不流暢,斷斷續續的不良感受。同時,H5技術自身渲染性能較弱:對複雜的圖形樣式,多樣的動效,自定義字體等的支持性不強。因此,應注意以下幾點:1.簡化不重要的動畫/動效;2.簡化複雜的圖形文字樣式;3.減少頁面渲染的頻率和次數。

3 Hybrid App 混合型App開發

優點:

(1)體驗好

(2)穩定性強動態性強

(3)成本相對低跨平臺

缺點:對團隊技術棧要求相對高性能優化

Hybrid App就是Native結合Web混合開發,Native+JS代碼代表作是cordova前身是phonegap,現在移交給Apache,核心JsBridge,JS調Java,Java調JS。因爲混合開發,所以體驗接近原生、穩定性強而且發版快。

2 Viewport視口

2.1 視口

視口是移動設備上用來顯示網頁的區域,一般會比移動設備可視區域大,寬度可能是980px或者1024px,目的是爲了顯示下整個爲PC端設計的網頁。這樣帶來的後果是移動端會出現橫向滾動條,爲了避免這種情況,移動端會將視口縮放到移動端窗口的大小。這樣會讓網頁不容易觀看,可以用meta標籤,name="viewport"來設置視口的大小,將視口的大小設置爲和移動設備可視區一樣的大小。

在移動端用來承載網頁的這個區域,就是我們的視覺窗口,viewport(視口),這個區域可以設置高度寬度,可以按比例放大縮小,而且能設置是否允許用戶自行縮放。

2.2參數說明

width:寬度設置的是viewport寬度,可以設置device-width特殊值
initial-scale:初始縮放比,大於0的數字
maximum-scale:最大縮放比
minimum-scale:最小縮放比
user-scalable:用戶是否可以縮放,yes或no(1或0)
<!--viewport只有移動端才能識別-->
<!--設置寬度  設置成和設備一樣的寬度(width=device-width)-->
<!--設置默認的縮放比  initial-scale =1.0-->
<!--設置是否允許用戶自行縮放  user-scalable:no or yes-->

2.3 設置方法

<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">

3 移動端適配佈局

使用百分比自適應佈局(流式佈局)同時需要對移動端的viewport視口進行設置,就可以達到適配的目的。

3.1 流體佈局+少量響應式

流體佈局:使用百分比來設置元素的寬度,元素的高度按實際高度寫固定值,流體佈局中,元素的邊線(border)無法用百分比,可以使用樣式中的計算函數calc()來設置寬度,或者使用box-sizing屬性將盒子設置爲邊線計算盒子尺寸。

響應式佈局:使用媒體查詢的方式,通過查詢瀏覽器的寬度,不同的寬度應用不同的樣式塊,每個樣式塊對應的是該寬度下的佈局方式,從而實現響應式佈局,響應式佈局的頁面可以適配多種終端屏幕(pc、平板、手機)。

3.2 基於rem的佈局

rem指的是參照根節點的文字大小,根節點指的是html標籤,設置html標籤的大小,其他的元素相關尺寸設置用rem。這樣,所有元素都有了統一的參照標準,改變html文字的大小,就會改變所有元素用rem設置的尺寸大小。

3.3 彈性盒模型

詳解點擊鏈接:https://blog.csdn.net/qq_42451979/article/details/80753153

寫在最後:以上是我對移動端開發的部分理解,詳細內容稍後更新。

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