2018 年最新的移動(dòng)前端資料整理

本文整理了前端開發(fā)同學(xué)在開發(fā)手機(jī)頁面的時(shí)候遇到的各種問題,希望能夠?qū)鉀Q移動(dòng)前端開發(fā)中遇到的問題提供幫助。

Android WebView 簡介

在 Android 中提供了 WebView 控件用來展示網(wǎng)頁內(nèi)容。對(duì)于 WebView 需要注意:Android 的 WebView 的主要問題在于不同 Android 版本的 WebView 使用了不同的瀏覽器內(nèi)核和瀏覽器版本,所以需要進(jìn)行 Android 版本適配。

在 Android 4.4 以下(不包含 4.4)系統(tǒng) WebView 底層實(shí)現(xiàn)是采用 WebKit(http://www.webkit.org/) 內(nèi)核,而在 Android 4.4 及其以上 Google 采用了 chromium(http://www.chromium.org/) 作為系統(tǒng)WebView的底層內(nèi)核支持。

相關(guān)文章:

IOS 的 UIWebView 和 WKWebView 簡介

使用 IOS 的 WebView 需要注意:當(dāng)前頁面展示在 IOS 系統(tǒng)中時(shí),存在兩種 WebView 環(huán)境:UIWebViewWKWebView。兩者是有一定差別的:

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

相關(guān)文章:

引用兩個(gè) WebView 在性能上的差異描述:

WKWebView相較于UIWebView在整體上有較大的提升,滿足OS上面使用同一套控件的功能,同時(shí)對(duì)整個(gè)內(nèi)存的開銷以及滾動(dòng)刷新率和JS交互做了優(yōu)化的處理。依據(jù)職責(zé)單一的原則,拆分成了三個(gè)協(xié)議去實(shí)現(xiàn)WebView的響應(yīng),解耦了JS交互和加載進(jìn)度的響應(yīng)處理。WKWebView沒有做緩存處理,所以對(duì)網(wǎng)頁需要緩存的加載性能要求沒那么高的還是可以考慮UIWebView.

資料整理

下面是網(wǎng)上一些關(guān)于移動(dòng)前端開發(fā)的文章,我們按照類別進(jìn)行分類整理,并寫上文章的發(fā)布時(shí)間(老文章可能不適用當(dāng)前狀況)。以便遇到相應(yīng)問題時(shí)更好的去查閱,定位和解決問題。

使用指南

  1. 如果遇到了移動(dòng)前端的問題,先按類別找到相應(yīng)文章列表,從中找解決方案。
  2. 如若沒有則在整理 總結(jié)列表 中去找,很多小問題點(diǎn)都可以在里面找到
  3. 如果還是無法解決可以通過評(píng)論與我溝通,一起努力找出解決方案。

第三方接口

屏幕適配

緩存&存儲(chǔ)

touch 事件

flex布局

position定位

優(yōu)化加速

調(diào)試& 測(cè)試

z-index層疊

動(dòng)畫&樣式

整理總結(jié)

相關(guān)工具庫項(xiàng)目及用法

移動(dòng)前端系列內(nèi)容

整理心得

復(fù)制粘貼了這么多文章,簡單整理了一下移動(dòng)前端開發(fā)中存在的各類問題。

  • Android 分為 webkit 和 chrome 兩個(gè)時(shí)代。
  • IOS WebView 有 UIWebView 和 WKWebView 兩種。
  • 移動(dòng)開發(fā)中經(jīng)常遇到要與微信、百度等第三方接口接入的情況。
  • 移動(dòng)端的屏幕尺寸類型非常繁雜,所以需要進(jìn)行適配優(yōu)化。
  • 屏幕適配現(xiàn)在有兩種主流方案:flexible 流和 vm 流。
    • flexible 流使用 rem 和 meta 來對(duì)尺寸進(jìn)行等比縮放。
    • vm 流使用 vm 和 vh 單位獲取來定義元素尺寸,具體可以參考vh,vw單位你知道多少?
  • 在適配時(shí)特別注意 iPhoneX 的劉海屏,有解決方案可以特殊處理劉海屏。
  • 在使用屏幕適配后,特別要注意實(shí)現(xiàn) 1px 像素的顯示。
  • retina 屏有時(shí)會(huì)出現(xiàn)元素顯示模糊的情況。
  • 移動(dòng)端特有 touch 事件來處理屏幕的觸摸行為。
  • flex 布局在 Android 4.3 及其之前的機(jī)型有兼容問題,需要做兼容處理。
  • 在 IOS 中用 position:fixed 定位頂部和底部元素,在彈出軟鍵盤的時(shí)候會(huì)出現(xiàn) fixed 元素位置偏移和消失的問題。偏移問題建議改為 absolute 來實(shí)現(xiàn),而消失問題建議使用滑動(dòng)完成后使用 JS 代碼實(shí)現(xiàn)屏幕點(diǎn)擊來調(diào)出元素顯示。
  • IOS 的 WebView 有底部彈性功能,對(duì)于 fixed 和 absolute 定位有一些奇怪問題,建議使用 touchmove 事件監(jiān)聽攔截彈性功能。
  • 頁面滑動(dòng)卡頓可以通過 setTimeout(event, 0) 來解決。
  • 移動(dòng)端的調(diào)試是比較麻煩的,解決方案是使用 Charles 代理查看 log。
  • 移動(dòng)端需要前端實(shí)現(xiàn)一些動(dòng)畫活動(dòng)頁面最好使用 CSS 的動(dòng)畫去實(shí)現(xiàn)性能更佳。
  • 其他細(xì)節(jié)點(diǎn)請(qǐng)查閱 整理總結(jié) 前三篇文章。

最后

本文致力于實(shí)現(xiàn)快速定位和解決移動(dòng)前端問題,將會(huì)不斷更新。

如果有任何問題或者好的移動(dòng)前端開發(fā)資料,請(qǐng)?jiān)僭u(píng)論區(qū)留言一起討論。讓我們一起努力填平移動(dòng)前端中的坑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,060評(píng)論 4 61
  • 朋友對(duì)我說,她最近被家里逼婚了,直接原因是她父母看到比她小的表妹都結(jié)婚了,而她卻連個(gè)男朋友還沒有。朋友有點(diǎn)無奈,跟...
    徐野閱讀 2,148評(píng)論 0 2
  • 首先恭喜高雅,淘寶給他安裝失敗了cad和天正,然后全部失敗了,還被坑了40。心疼她的可憐老電腦一秒。于是她只能用姬...
    文化人兒兒閱讀 233評(píng)論 0 0
  • 想必他是不想那么快讓我知道他也喜歡我吧!當(dāng)我再次問道:“李想,這是什么意思?”時(shí),他默默的低下頭,看得出來有些...
    祺藝果閱讀 664評(píng)論 0 0

友情鏈接更多精彩內(nèi)容