最新国产精品视频免费看_99热这里只有精品在线_无码精品人妻一区_欧美精品丝袜久久久中文字幕

為用戶創造價值的開發公司

始終追求工匠精神,是您靠譜的H5開發、小程序開發、微信開發供應商

藍暢首頁 >> 動態

搭建移動H5開發項目實戰

時間:2019-09-04 23:14:42 | 來源:

前端H5開發的前世今身

在Pc的時代,前端技術無疑統治了大多數用戶的交互界面!而在移動為王的今天,NA開發在早期占領了大多數用戶的交互界面,后來逐漸的前端H5開發找到了自己的技術優勢,慢慢的后來居上。

前端H5的優勢有:

  • 輕松的熱更新,(無需等待用戶漫長的更新時間)

  • code once,run anyway,(極大縮短產品的開發時間)

  • 豐富的社區、成熟的技術棧和人才儲備

與此同時也面臨了許多難題,比如:

  • 性能問題(在低端機型上不夠流暢,點擊延遲等)

  • 兼容性問題(不僅要適配各種各樣的屏幕,還要面對各類廠商對系統瀏覽器進行篡改引發的兼容性問題)

  • 加載時間

分庭抗禮

至此前端H5和NA開發形成了一種互補的關系,各有自己的適用場景和自己的優劣之處:

  • H5適合做活動頁,運營頁,簡單的展示頁。(支持瀏覽器的地方就能展示,就能使用)

  • H5適合做產品最小原型,開發效率快(一份代碼跑兩個平臺)

  • H5適合還不成熟需要頻繁迭代的產品

移動開發之蕩

移動h5開發和桌面web開發有許多不同的地方,一個傳統的桌面web開發工程師,如果沒有經過一定的學習和嘗試無法開發出適應移動web的應用。
那移動開發相較于傳統web開發有哪些避無可避的難點呢?接下來我將結合在BANFF項目中的實踐來分別介紹這些移動h5開發中的難點以及如何解決這些難點。

難題一:瀏覽器默認樣式

不同系統+不同品牌+不同版本的瀏覽器都會有各種各樣自己的默認樣式,很多時候如果忽視瀏覽器的默認樣式會導致顯示樣式上出現兼容性問題,有的時候可能在某些機型上看上去很好,但是換了一個機型卻顯示又不正常。

在桌面web時代

前端要適配的瀏覽器有限(有IE,火狐,chrome,360等)。這個時候我們可以不考慮這些默認的樣式,畢竟不一致的地方較少。這個時候可以采用常規的css normall,將各個瀏覽器的css顯示差異控制在一定范圍內,這樣既能保留平臺的特色UI展示,又能避免出現兼容性問題。

移動h5時代

在移動h5上情況就不一樣了,手機系統多種多樣,瀏覽器平臺數不勝數。如果不嚴格控制住瀏覽器的默認樣式,顯示的兼容性問題就比較嚴重了。

在BANFF項目中我們對比了 css normal 和 css reset 兩種方案,最終采用了css reset 技術,因為在測試過程中我們發現,采用css normal方案去開發移動h5,總會遇到有一些機型的樣式無法貼合UE圖的效果,所以我們采用css reset將各個平臺的css顯示差異都抹平,這樣就無需考慮瀏覽器的默認樣式了。雖然方法簡單粗暴,但是對移動h5開發來說卻非常管用。

clipboard.png
css reset方案的核心代碼
clipboard.pngIE下不同版本的默認樣式摘要

難題二:屏幕適配

如何適配數不清的屏幕尺寸,曾經是困擾前端開發人員的一大難題。

瀏覽器占比:clipboard.png
主流的屏幕類型:clipboard.png

看了以上的瀏覽器占比和主流的屏幕類型就知道屏幕適配對前端開發來說是一個多大的問題了。

在屏幕適配這個問題上,曾今出現了許多優秀的解決方案:

最開始的基于media技術的響應式布局

bootstrap樣式庫采用了這套適配方案,這套方案的核心思想是將屏幕分為三種類型,搭配上柵格系統,我們能夠寫出同時兼容移動端小屏幕和pc大屏幕的頁面。

移動端適配方案分為幾個派別:
固定高度,寬度自適應

這是目前使用較多的方法,垂直方向用定值,水平方向用百分比、定值、flex都行。騰訊、亞馬遜、搜狐的首頁都是使用的這種方法。
這種方法使用了完美視口:

<meta name="viewport" content="width=device-width,initial-scale=1">
固定寬度,viewport縮放

這種方案:設計圖、頁面寬度、viewport width使用一個寬度,瀏覽器幫我們完成縮放。單位使用px即可。

原理是根據屏幕寬度來動態生成viewport,生成的 viewport 基本是這樣:

<meta name="viewport" content="width=640,initial-scale=0.5,maximum-scale=0.5,minimum-scale=0.5,user-scalable=no">
rem做寬度,viewport縮放

這種方案是目前業界比較認可的一種方案,也是吸取了其他方案的長處再進行改良的一種方案
原理有以下三點:

  • 動態的生成 viewport;

  • 屏幕寬度設置 rem的大小,即給<html>設置font-size;

  • 根據設備像素比(window.devicePixelRatio)給<html>設置data-dpr

rem 適配效果
clipboard.png

通過fekey轉換來避免手寫remclipboard.png

在BANFF項目中我們比較了以上的幾種適配方案

首先響應式布局的解決方案無法實現真正的移動適配,它的適配只能解決pc大屏幕到手機小屏幕的問題,但是手機屏幕任然有很多種,這個時候基于響應式布局的來寫頁面會發現在Iphone6下看上去和UE效果圖一致,但到了iphone5s下按鈕之間的間距和UE效果圖就差很多,更不用說Iphone4s和其他一眾Android機型了

而rem方案能夠解決小屏幕的適配問題,因為它的顯示單位rem是隨著屏幕大小,rem方案比(固定寬度,viewport縮放)來說有優勢的地方是可以使用兩種不同的單位,想讓元素適配的時候就用rem,想讓文字不縮放的時候就用px。比如1px的線rem就能輕松搞定,而其他方案不行。比如一些文字我們并不希望它適配,因為部分字體適配后會顯示出毛邊,這個時候用px能實現不適配的效果。rem的不足之處是我們在書寫樣式的時候要手動將UE的標注轉化成rem。

最終我們采用了wmflex 基于(rem做寬度,viewport縮放) 的 解決方案,很好的實現了適配各類屏幕。同時采用了fekey(px To rem)來解決書寫rem不方便的問題,這樣我們在寫樣式的時候只要和按照UE標準的
750px來就行了,fekey會自動幫助我們轉為rem。經過測試在低端的Android機上或者是dpr等于2的IPhone6s和dpr等于3的IPhone6s plus都能很好的按照交互圖來展示。

可以說基于rem適配原理的這一套解決方案,我們已經能夠輕松適配各種類型、各種大小的屏幕。

難題三:點擊延遲

web開發對鼠標有一套完整的事件支持,但是對移動系統上的點擊,觸控,滑動的事件支持并不完善。就拿最常見的點擊來說,h5就有過很長一段時間的不好體驗。

點擊延遲,對于早期的h5開發可以說是致命的,相較于native的流暢來說,h5的300毫秒的點擊延遲幾乎是不可接受的。

業界常用的方法是采用將touch事件來進行一系列封裝,進而得出一套觸控Api來。

fastclick就是經過大量優化的去除點擊延遲解決方案。原理是hook了瀏覽器的touch事件來模擬click事件,讓前端開發人員以熟悉的click來書寫代碼

除了點擊事件,滾動、滑動、多點觸控,這些瀏覽器不原生提供的能力都需要我們用代碼去模擬出來。

clipboard.png

在BANFF項目中采用較常規的解決方案fastclick來去除點擊延遲,在以后的項目中如果遇到更復雜的交互需求,會采用更具擴展性的hammerjs來處理各種各樣的觸碰需求。比如滑動、旋轉、多點觸碰。

難題四:mock與調試

H5頁面運行環境多樣,如果僅僅是通過報錯后彈出alert框這種形式去調試的話,開發效率會降低很多。

首先H5頁面肯定是能運行在Pc Chrome上的,借用Chrome的成熟調試體系效率會提高很多;但是我們要考慮到NA內嵌的webview,其中js代碼的運行時機要依賴websdk的加載。無法簡單的將h5應用拿到chrome上調試。并且除了常用的waimaiApp端,還要考慮微信端,或者是Banff端。所以我們要有一套mock機制,在Pc端上走Mock的代碼,在NA端或者微信端上走端對應的代碼。

一種較好的代碼架構思路是我們提供一個Adapter層,Adapter層對業務代碼提供一致的接口,然后Adapter根據不同的使用場景對接不同的端代碼
clipboard.png
clipboard.png

有了Adapter層后我們根據什么來判斷當前代碼運行在什么端呢?比較常見的方法是通過瀏覽器的ua來進行判端。如果擔心代碼的體積問題,我們也能通過fekey或其他打包工具,在打包階段,打包出不同端對應的代碼。這樣能減少代碼的加載時間和體積。



關于我們:

藍暢信息技術有限公司成功為多家世界財富500強企業以及其他著名品牌提供優質服務,是您靠譜的互聯網開發供應商。

服務客戶遍及北京、上海、杭州、深圳、廣州、天津、青島、南京、寧波、蘇州、無錫、廈門、重慶、西安等大中型城市及地區    為您提供:H5開發,H5設計,H5外包,微信開發外包,H5商城開發,小程序商城開發,網站開發外包,H5游戲開發,小程序開發外包,小程序設計、APP開發外包,UI設計,SEO優化,視頻后期制作等優質服務


本文地址:
更多內容推薦:
專欄最新閱讀:
更多文章閱讀請至:技術專欄
Tips: 為您提供 微信開發H5開發微信小程序開發微信定制開發網站開發小程序商城開發SEO網站優化視頻后期制作等定制化開發服務
久久久免费av| 亚洲国产精品电影| 99国产精品久久久久久久久久| 亚洲欧美成人| 欧美激情一区二区三区在线视频 | 亚洲动漫精品| 亚洲欧美日韩国产成人精品影院| 欧美xx69| 国内精品免费午夜毛片| 在线亚洲精品| 欧美va亚洲va国产综合| 国产日韩欧美制服另类| 亚洲深夜影院| 欧美护士18xxxxhd| 黄色影院成人| 欧美一级成年大片在线观看| 欧美日韩中文字幕综合视频| 1024成人| 久久精品五月婷婷| 国产精品亚洲一区| 在线亚洲激情| 欧美区在线观看| 亚洲国产日韩综合一区| 久久精品一区二区三区中文字幕 | 亚洲一区二区三区成人在线视频精品 | 欧美区在线播放| 亚洲国产日韩美| 久久蜜桃av一区精品变态类天堂| 国产日韩精品在线播放| 亚洲——在线| 欧美亚韩一区| 99精品视频免费观看视频| 暖暖成人免费视频| 揄拍成人国产精品视频| 久久精品水蜜桃av综合天堂| 国产亚洲福利| 久久精品2019中文字幕| 国产亚洲精久久久久久| 欧美一级网站| 国产亚洲精品久久久| 性欧美1819sex性高清| 国产精品免费一区二区三区在线观看 | 久久深夜福利| 一区二区三区在线视频免费观看 | 韩日欧美一区二区三区| 久久爱www.| 国产一区二区黄| 久久大逼视频| 国产一区观看| 久久久无码精品亚洲日韩按摩| 国产香蕉久久精品综合网| 亚洲欧美日本视频在线观看| 国产精品久久久久影院色老大 | 欧美伦理91i| 99精品欧美一区| 欧美偷拍一区二区| 亚洲一区精品视频| 国产精品一区二区久久久| 午夜日韩在线观看| 国产一区二区三区四区| 久久蜜桃资源一区二区老牛 | 欧美精品v国产精品v日韩精品 | 国产九九精品视频| 欧美专区18| 又紧又大又爽精品一区二区| 美女成人午夜| 亚洲精选成人| 欧美三级特黄| 性做久久久久久| 黄色成人91| 欧美成人免费全部| av不卡免费看| 国产精品亚洲综合久久| 久久精品91| 亚洲青涩在线| 欧美性开放视频| 欧美亚洲一区| 好吊妞**欧美| 欧美黄色aaaa| 亚洲综合99| 精品1区2区3区4区| 欧美精品粉嫩高潮一区二区| 亚洲一二三四久久| 国产亚洲精品福利| 免费久久99精品国产自在现线| 亚洲精品免费一二三区| 国产精品成人一区二区三区夜夜夜| 午夜欧美视频| 亚洲黄一区二区| 国产精品毛片a∨一区二区三区| 欧美在线999| 最新中文字幕一区二区三区| 国产精品r级在线| 久久全球大尺度高清视频| 亚洲精品综合在线| 国产手机视频一区二区| 欧美激情久久久| 欧美亚洲日本网站| 91久久国产综合久久| 国产精品亚洲成人| 噜噜噜久久亚洲精品国产品小说| 99国产精品久久久久久久成人热 | 久久成人精品无人区| 亚洲人www| 国产麻豆日韩| 欧美国产先锋| 欧美亚洲网站| 亚洲免费观看高清完整版在线观看熊 | 国产欧美日韩免费| 欧美国产欧美综合 | 国产综合香蕉五月婷在线| 欧美日韩国产在线播放网站| 欧美亚洲网站| 99视频一区二区三区| 国产一区免费视频| 欧美日韩在线一区| 久久一日本道色综合久久| 亚洲一区不卡| 最新高清无码专区| 国产亚洲成av人在线观看导航 | 一区二区三区精品在线| 国内精品久久久久影院色| 欧美日韩精品高清| 久久性色av| 午夜视黄欧洲亚洲| 一区二区三区鲁丝不卡| 在线观看欧美日韩国产| 国产精品网曝门| 欧美日韩八区| 免费一级欧美在线大片| 午夜精品区一区二区三| 99av国产精品欲麻豆| 悠悠资源网亚洲青| 国产精品一区二区女厕厕| 欧美激情综合在线| 久久性色av| 先锋影音一区二区三区| 中文亚洲视频在线| 亚洲欧洲视频在线| 狠狠入ady亚洲精品| 国产精品亚洲综合久久| 欧美日韩在线播放一区| 欧美大学生性色视频| 久久久欧美一区二区| 小处雏高清一区二区三区| 中国女人久久久| 亚洲精选在线观看| 亚洲国产精品久久久久秋霞蜜臀| 国产一区视频在线看| 国产精品一区免费视频| 欧美性淫爽ww久久久久无| 欧美日韩成人一区二区三区| 欧美a级大片| 久久只有精品| 欧美在线综合视频| 欧美亚洲免费| 午夜精品久久久久久久久久久久 | 国产欧美一区二区精品忘忧草| 欧美无砖砖区免费| 欧美日韩国产综合视频在线观看中文 | 欧美久色视频| 欧美电影免费网站| 你懂的国产精品永久在线| 久久在线观看视频| 久久伊人免费视频| 久久在线免费观看视频| 久久综合久久综合九色| 欧美一级在线播放| 午夜国产精品影院在线观看| 亚洲老司机av| 国产日韩综合| 国产日本欧美视频| 国产欧美精品一区 | 亚洲嫩草精品久久| 亚洲天堂视频在线观看| 中文欧美字幕免费| 亚洲午夜影视影院在线观看| 亚洲一区二区在线观看视频| 亚洲欧美中文字幕| 欧美中文字幕精品| 久久久九九九九| 六月天综合网| 欧美激情1区2区3区| 欧美精品一卡二卡| 欧美午夜电影完整版| 国产精品久久久久久妇女6080| 国产精品一区二区a| 国产一区二区三区免费观看 | 美女脱光内衣内裤视频久久网站| 麻豆精品国产91久久久久久| 欧美成人激情视频| 欧美日韩福利在线观看| 欧美性猛交xxxx免费看久久久| 国产精品久久久久免费a∨ | 久久综合九色综合欧美狠狠| 免费影视亚洲| 欧美日韩亚洲高清| 国产精品视频免费一区| 国内伊人久久久久久网站视频| 亚洲成人在线免费|