2018 年最新的移動前端資料整理(不斷更新)

本文整理了前端開發同窗在開發手機頁面的時候遇到的各類問題,但願可以對解決移動前端開發中遇到的問題提供幫助。css

Android WebView 簡介

在 Android 中提供了 WebView 控件用來展現網頁內容。對於 WebView 須要注意:Android 的 WebView 的主要問題在於不一樣 Android 版本的 WebView 使用了不一樣的瀏覽器內核和瀏覽器版本,因此須要進行 Android 版本適配。html

在 Android 4.4 如下(不包含 4.4)系統 WebView 底層實現是採用 WebKit(www.webkit.org/) 內核,而在 Android 4.4 及其以上 Google 採用了 chromium(www.chromium.org/) 做爲系統WebView的底層內核支持。前端

相關文章:vue

IOS 的 UIWebView 和 WKWebView 簡介

使用 IOS 的 WebView 須要注意:當前頁面展現在 IOS 系統中時,存在兩種 WebView 環境:UIWebViewWKWebView。二者是有必定差異的:html5

UIWebView 自 IOS2 就有,WKWebView 從 IOS8 纔有,毫無疑問WKWebView 將逐步取代笨重的 UIWebView。android

相關文章:css3

引用兩個 WebView 在性能上的差別描述:git

WKWebView相較於UIWebView在總體上有較大的提高,知足OS上面使用同一套控件的功能,同時對整個內存的開銷以及滾動刷新率和JS交互作了優化的處理。依據職責單一的原則,拆分紅了三個協議去實現WebView的響應,解耦了JS交互和加載進度的響應處理。WKWebView沒有作緩存處理,因此對網頁須要緩存的加載性能要求沒那麼高的仍是能夠考慮UIWebView.github

資料整理

下面是網上一些關於移動前端開發的文章,咱們按照類別進行分類整理,並寫上文章的發佈時間(老文章可能不適用當前情況)。以便遇到相應問題時更好的去查閱,定位和解決問題。web

使用指南

  1. 若是遇到了移動前端的問題,先按類別找到相應文章列表,從中找解決方案。
  2. 如若沒有則在整理 總結列表 中去找,不少小問題點均可以在裏面找到
  3. 若是仍是沒法解決能夠經過評論與我溝通,一塊兒努力找出解決方案。

第三方接口

屏幕適配

緩存&存儲

touch 事件

flex佈局

position定位

優化加速

調試& 測試

z-index層疊

動畫&樣式

整理總結

相關工具庫項目及用法

移動前端系列內容

  • Mars —— 騰訊團隊整理的一些移動前端問題
  • 移動Web開發 —— 有人整理的一系列移動前端開發知識,有很多有價值的內容。
  • w3cplus-mobile —— 大漠老師整理的內容質量是比較高的。
  • 前端開發博客-移動前端開發 —— 這是我找了兩天找到的最好的移動前端開發內容整理了。

整理心得

複製粘貼了這麼多文章,簡單整理了一下移動前端開發中存在的各種問題。

  • Android 分爲 webkit 和 chrome 兩個時代。
  • IOS WebView 有 UIWebView 和 WKWebView 兩種。
  • 移動開發中常常遇到要與微信、百度等第三方接口接入的狀況。
  • 移動端的屏幕尺寸類型很是繁雜,因此須要進行適配優化。
  • 屏幕適配如今有兩種主流方案:flexible 流和 vm 流。
    • flexible 流使用 rem 和 meta 來對尺寸進行等比縮放。
    • vm 流使用 vm 和 vh 單位獲取來定義元素尺寸,具體能夠參考vh,vw單位你知道多少?
  • 在適配時特別注意 iPhoneX 的劉海屏,有解決方案能夠特殊處理劉海屏。
  • 在使用屏幕適配後,特別要注意實現 1px 像素的顯示。
  • retina 屏有時會出現元素顯示模糊的狀況。
  • 移動端特有 touch 事件來處理屏幕的觸摸行爲。
  • flex 佈局在 Android 4.3 及其以前的機型有兼容問題,須要作兼容處理。
  • 在 IOS 中用 position:fixed 定位頂部和底部元素,在彈出軟鍵盤的時候會出現 fixed 元素位置偏移和消失的問題。偏移問題建議改成 absolute 來實現,而消失問題建議使用滑動完成後使用 JS 代碼實現屏幕點擊來調出元素顯示。
  • IOS 的 WebView 有底部彈性功能,對於 fixed 和 absolute 定位有一些奇怪問題,建議使用 touchmove 事件監聽攔截彈性功能。
  • 頁面滑動卡頓能夠經過 setTimeout(event, 0) 來解決。
  • 移動端的調試是比較麻煩的,解決方案是使用 Charles 代理查看 log。
  • 移動端須要前端實現一些動畫活動頁面最好使用 CSS 的動畫去實現性能更佳。
  • 其餘細節點請查閱 整理總結 前三篇文章。

最後

本文致力於實現快速定位和解決移動前端問題,將會不斷更新。

若是有任何問題或者好的移動前端開發資料,請再評論區留言一塊兒討論。讓咱們一塊兒努力填平移動前端中的坑。

相關文章
相關標籤/搜索