精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

藝龍網孫東 Slarkjs-前端框架的優化與實踐

原創
開發 架構 前端
進入2015,移動互聯網繼續迅猛發展。以我們公司藝龍為例,第一季度藝龍核心業務酒店的移動訂單量在總酒店客房間夜中所占比例達到65%,這一數字在半年前還只是48%,移動業務的快速增長,對公司也越來越重要,對于我們前端框架有了更高的要求。移動前端相比pc前端有很大的不同,面臨很多新的問題和挑戰。

前言

進入2015,移動互聯網繼續迅猛發展。以我們公司藝龍為例,***季度藝龍核心業務酒店的移動訂單量在總酒店客房間夜中所占比例達到65%,這一數字在半年前還只是48%,移動業務的快速增長,對公司也越來越重要,對于我們前端框架有了更高的要求。移動前端相比pc前端有很大的不同,面臨很多新的問題和挑戰。

【作者】 

[[149571]]

孫東· 藝龍網前端架構師

【以下為正文】

挑戰

移動時代對前端有了更高的要求。移動的前端,用戶比pc網站更在意流量,響應速度,觸摸體驗,用戶體驗的友好程度又直接影響到公司的業務量,所以,優化這些體驗問題,將是移動前端的關鍵。

如何優化這些用戶的痛點,也是我們關注的重點。傳統的網站開發,還處于為了實現功能而進行的拿來主義,需要什么功能,網上搜索一段代碼貼過來實現,缺點很明顯

  1. 代碼大小問題。插件所具有的功能不是你的業務全部需要的,但如果全部加載進來,在pc上無所謂,移動端因為網絡環境不同可能會因為幾十kb影響0.1s甚至更多的加載速度。
  2. 動畫的高效性問題。一般pc的動畫使用js實現,優點是簡單,拿來就用,兼容性好,而手機上一般需要借助css3進行硬件加速來提高渲染的動畫性能
  3. 觸摸體驗。觸摸屏也是手機區別pc的一大特點,app已經培養了很多用戶使用習慣,比如下拉刷新,左右滑切換標簽,這些操作提高了用戶的直觀體驗,與pc相比h5網站面臨的挑戰和機遇更多。
  4. 技術積累。沒有固定的開發模式,根據功能來進行,導致每一個業務都要重新尋找,重新開發。

經過這幾年的移動前端的探索和發展,以上的問題都已經有了基本成熟的共識和技術實現。即各家公司根據自身業務特點開發統一的框架并進行js模塊化,css模塊化,開發集成化,打包工程化,選用并改進性能***的lib來持續的優化框架,滿足自身業務的需求和業務的發展。

百度輕應用做過一次調查問卷,對于移動h5站,還有哪些的需求最迫切,統計前五如下

  1. 性能問題(45%)
  2. 有限的硬件接口(37%)
  3. 難以集成本地元素(29%)
  4. 無法創建***的頁面與交互(23%)
  5. 缺乏成熟的框架(20%)

之前這些問題在純web上是無解的, cordova等工具另辟一條打包nativeapp的方式擴展了接口,真正的體驗問題并沒有解決,facebook發布的只支持ios的react-native的beta版,提升了頁面流暢度,目前來看,ios不是webapp的性能瓶頸,對于安卓上的性能問題,我們只能期待。

機遇

盡管挑戰很多,轉機已經開始出現。ios8 開始支持safari的擴展,通過這個接口,前端可以直接開發和調用本地能力,而***的安卓L 也終于拋棄了飽受詬病的android webkit而使用了兼容性和性能更佳的chronium webkit,這些都預示著h5網站可以有更好的調用本地接口能力和更好的體驗,同時,一些適用于移動web開發的的技術方法和框架不斷的涌現,使得開發高性能app越來越容易和簡單。其中有一些很優秀的框架,比如用于優化頁面轉場效果的clouda+(blendui),響應式css設計ratchet,解決數據綁定的angularjs。

html5的開發限制越來越少,由于擁有可以快速開發,快速上線,搜索導流等功能,能夠運行在安卓,ios等多個終端內的優勢,可以預見會成為客戶端的越來越重要的補充。

#p#

優化實踐

本章節將詳細介紹為了解決以上痛點,我們的前端框架如何進行優化和實踐的。

優化首屏

傳統h5網站框架通過模板和數據在前端組裝,雖然優化了前端邏輯,但需要很長的首頁白屏等待時間,同時也不會被搜索引擎抓取到,***的方案是首屏使用server端渲染,次屏開始通過接口和前端模板渲染,大大減少次屏數據量和相應時間,利于緩存靜態資源,加快首屏,次屏的訪問時間, 如果使用nodejs作為web Server,前后端的模板統一的實施會非常的容易和順暢,而在藝龍,我們的webserver框架是java開發的,模板引擎使用的是freemark。為了統一兩種模板,我們進行了一些變通,先把freemark模板進行預編譯,編譯成前端的js模板。

聽起來很復雜,實際做起來并不難,以藝龍火車票h5網站為例。

  1. 首屏時使用java web框架執行頁面,同時加載我們的main.js/main.css/template.js
  2. 當需要跳轉頁面時,使用core.addPager()的加載方法,就會更新成自動發送請求json數據的url(java web框架),如果server不支持傳json就把渲染好的頁面進行拆剪放到頁面dom中,同時在route.js中找到url對應的前端模板,取到后就可以實現次屏的渲染。
  3. 動畫通過css3在框架內實現
  1. --- route.js 
  2. define(['/src/js/core.js'],function(core){ 
  3.     //key 匹配 id 
  4.     // tpl 匹配 未來的模板 
  5.     // url 匹配 url 
  6.     // js 匹配 js 
  7.      core.router.add({ 
  8.             "list":{ 
  9.                 lindex:2, 
  10.                 tpl:"list"
  11.                 url:"/huoche/list"
  12.             }, 
  13.             "order":{ 
  14.                 lindex:3, 
  15.                 tpl:"order"
  16.                 url:"/huoche/detail"
  17.             }, 
  18.             "entry":{ 
  19.                 lindex:1, 
  20.                 tpl:"entry"
  21.                 url:"/huoche"
  22.             } 
  23.         }); 
  24. }); 

 

約定規則

約定規則是框架的重要一環。slark使用twitter的ratchet規則定義前端模板規則,移動h5網站的每一個元素均使用推薦的的頁面標簽。好處是一方面我們擁有了眾多可擴展的樣式庫,另外一方面可以根據約定進行擴展,實現我們的頁面轉場優化和下拉刷新的css約定。同時,借助我們的框架js,可以實現卡頭卡尾的兼容性問題,減少類似錯誤的出現。

優化轉場

轉場的動畫可以縮短用戶操作點擊等待。目前的做法除了使用css3動畫外,市面上H5網站的轉場方案是先loading預先加載好頁面,在轉場進入頁面,其原因是由于css3動畫中如果進行頁面渲染有一定幾率破壞動畫或造成空白頁的bug,經過調研我們發現仍然有向native體驗靠攏的可能。

這點我們的實踐是,當存在頁面模板緩存時,先渲染模板,然后轉場,0等待;當不存在頁面模板緩存,需要通過網絡請求時,先渲染帶標題后退頭的頁面,進行轉場,同樣0等待,同時對渲染頁面的時機進行了干預,當網絡請求早于css3轉場動畫結束時,等待css3動畫完成后再進行頁面渲染,避免破壞動畫的bug出現,為了更有效的提高轉場的性能,減少dom樹的層級和大小也是必不可少的,我們把所以當前頁面的插件做了封裝管理,與框架結合起來,在轉場之前,把隱藏的dom移除dom樹,而在動畫結束,悄悄的把dom添加回來等待調用。

模塊化&工程化

Requirejs是一個基于amd(異步模塊定義)規范的一個js庫,能夠通過依賴前置管理js的模塊依賴。

Sass 是一個新的css編程語言,嵌套語法和需要編譯使它天然適合模塊化,特別的,***的libsass 3.2支持了絕大多數的sass語法,sass可以不在依賴于ruby環境,使用和安裝編譯更加簡單。

經過模塊化與分層,不僅可以提高代碼復用的邏輯,而且可以管理依賴,打包出最小的代碼集合,同時,entry,core,lib 三個模塊可以不僅可以內部擴展,也可以交叉進行擴展,即lib寫的不好的,core可以吸收和改進,core通用性強的部分也可以抽離出lib,業務代碼同理。

管理好這些依賴和模塊化的代碼,簡化編譯過程,使用gruntjs來配置任務,可以自動進行代碼的常規錯誤檢查,打包,壓縮等操作。

IOS 9

Ios版本的每次發布,都會對html5的支持度大幅提升,ios9也不例外,對于前端框架來說,關注新的ios版本,響應式的在支持更多特性的ios版本上給予更多的體驗,slark框架將在以下的特性上進行ios的體驗優化:

  1. 支持http/2.0 協議,通過http/2.0 可以減少更多的網絡延遲,特別是https的網絡傳輸額外字節量大幅減少,可以預見,現在業界使用的前端rsa加密可能會逐漸被支持http/2.0的https協議取代。
  2. 框架級css3布局語法支持增多。Ios9帶來了豐富的css3 api,比如Scroll snap points,Feature Queries,mediaquery支持interaction 等等,使得在新的ios版本中,動畫更流暢,操作反饋更豐富。

業務線例子

  1. ---main.js 
  2. require(['src/js/core''entry/huoche/js/route''entry/huoche/js/index''entry/huoche/js/list''entry/huoche/js/order'], 
  3. function(core){ 
  4. }); 
  5. ---index.js 
  6. define(['/src/js/calendar.js',   
  7.     '/src/js/common.js''/src/js/city.js','/src/js/core.js'], 
  8. function(calendar,  common, city,core) { 
  9. //通過define管理依賴,內容略 
  10. }); 
  1. ---main.css 
  2. // Variables 
  3. @import "../../src/sass/variables.scss"
  4. // Mixins 
  5. @import "../../src/sass/mixins.scss"
  6. // Normalize & Base CSS 
  7. @import "../../src/sass/normalize.scss"
  8. @import "../../src/sass/page.scss"
  9.  
  10. @import "../../src/sass/base.scss"
  11. // Components 
  12. @import "../../src/sass/buttons.scss"
  13. // Javascript components 
  14. @import "../../src/sass/calendar.scss"
  15. @import "../../src/sass/city.scss"
  16. //my css 
  17. @import "sass/index.scss"
  18. @import "sass/list.scss"

后記

快速發展的移動前端,機遇與挑戰并存。不忘初心,擁抱變化,為前端的建設添磚加瓦。

資源鏈接

  1. http://www.requirejs.org/
  2.  http://www.sass-lang.com
  3. http://gruntjs.com/
  4. https://github.com/browserstate/history.js
  5. http://clouda.baidu.com/
  6. https://github.com/facebook/react-native
責任編輯:王雪燕 來源: 51CTO
相關推薦

2015-09-21 11:48:45

藝龍網前端優化IT技術周刊

2015-12-01 10:05:29

Slarkjs框架離線模板

2015-11-25 09:04:54

藝龍網前端domdiff

2019-07-21 19:00:23

運維架構技術

2022-06-10 15:37:24

愛奇藝App網絡

2015-05-28 13:34:30

攜程

2025-09-09 02:00:00

2015-05-27 13:57:53

攜程

2009-08-19 14:06:30

物流管理博科資訊

2022-10-28 13:41:51

字節SDK監控

2015-05-28 10:35:38

攜程

2015-05-27 15:26:46

攜程

2015-09-08 13:50:24

Web前端框架類庫

2014-10-22 10:50:14

Web前端

2016-12-08 10:57:08

渲染引擎前端優化

2018-12-27 13:11:04

愛奇藝APP優化

2021-01-08 13:42:28

愛奇藝機器學習深度學習

2022-06-27 09:48:15

H5移動互聯網頁面性能

2016-11-23 13:50:29

三級列表頁持續架構前端優化

2022-03-22 15:16:50

路由前端路由動畫
點贊
收藏

51CTO技術棧公眾號

国语自产在线不卡| 欧美日韩视频一区二区| 久久久亚洲综合网站| www.国产毛片| 欧美wwwww| 日韩精品一区二区三区视频播放| 黄色一级在线视频| 2021av在线| 成人毛片视频在线观看| 国产成人精品av在线| 超碰手机在线观看| 精品在线99| 在线电影一区二区三区| 精品人妻大屁股白浆无码| 欧美成人片在线| 国产九色精品成人porny| 欧美中文字幕在线播放| 欧美黑人一级片| 成人激情视频| 欧美精品一区二区三区视频| 少妇一级淫免费放| 国产va在线视频| 亚洲欧美日韩中文字幕一区二区三区 | 影音先锋黄色资源| 亚洲欧美在线人成swag| 狠狠躁夜夜躁人人躁婷婷91| 日韩精品一区二区三区电影| 国产在线视频网站| 97se亚洲国产综合自在线不卡 | 在线精品自拍| 欧美美女喷水视频| 在线观看av日韩| 中文在线免费视频| 亚洲一区电影777| 裸体裸乳免费看| 成年人免费在线视频| 91亚洲精品久久久蜜桃| 波多野结衣一区二区三区在线观看| 无码视频在线观看| 美女久久一区| 日本最新高清不卡中文字幕| 日韩欧美亚洲一区二区三区| 亚洲午夜精品久久久久久app| 最近2019中文字幕mv免费看 | 99草草国产熟女视频在线| a'aaa级片在线观看| 一级做a爱片久久| 免费成人进口网站| 二区三区在线观看| 亚洲视频一区二区免费在线观看| 无遮挡亚洲一区| 国产三区四区在线观看| 久久精品在这里| 蜜桃av噜噜一区二区三区| 天天av综合网| 久久女同互慰一区二区三区| 欧美日韩免费观看一区| 欧美婷婷久久五月精品三区| 久久新电视剧免费观看| 麻豆精品蜜桃一区二区三区| 天堂av电影在线观看| 91在线视频免费观看| 女同一区二区| 国产免费永久在线观看| 国产三级精品在线| 亚洲日本japanese丝袜| 男人影院在线观看| 亚洲欧美日韩国产手机在线 | 欧美二区三区的天堂| 国产高清av片| 激情小说一区| 亚洲人线精品午夜| 美国一级片在线观看| 天天综合一区| 久久久久久久久久久成人| 欧美不卡视频在线观看| 麻豆久久精品| 国产在线精品一区免费香蕉 | 国产91沈先生在线播放| 成人免费网站观看| 91黄色免费看| 天天色天天干天天色| 激情av综合| 三级精品视频久久久久| 日本精品人妻无码77777| 极品少妇一区二区三区| 日产日韩在线亚洲欧美| 一女二男一黄一片| 成人深夜福利app| 欧美亚洲爱爱另类综合| 免费观看在线黄色网| 亚洲成人自拍网| 一级在线免费视频| 1313精品午夜理伦电影| 中文字幕日韩精品在线观看| 欧美日韩一级大片| 久久九九99| www.成人av| 1024视频在线| 图片区日韩欧美亚洲| 日本激情视频在线播放| 北条麻妃一区二区三区在线| 亚洲天堂男人天堂女人天堂| 免费一级全黄少妇性色生活片| 免费日韩精品中文字幕视频在线| 成人黄色免费网站在线观看| 亚洲AV成人无码一二三区在线| 中文字幕一区二区视频| 免费毛片小视频| 亚洲开心激情| 最近2019中文字幕在线高清| 97久久久久久久| 狠狠色丁香婷婷综合久久片| 欧美日韩亚洲在线 | 亚洲一区二区五区| 老司机午夜性大片| 国际精品欧美精品| 国内精品久久久| 国产乱淫av免费| 久久综合久久99| 国产黄色激情视频| 国产高清亚洲| 中文字幕亚洲欧美日韩在线不卡| 国产精品第56页| 国产精品一品视频| 制服丝袜综合日韩欧美| 欧美福利在线播放| 日韩精品在线观看网站| 国产系列精品av| 国产精品一品视频| 精品嫩模一区二区三区| 亚洲网站免费| 日韩在线小视频| 中文在线资源天堂| 国产精品三级久久久久三级| 黑森林福利视频导航| 欧美一级色片| 国内精品在线一区| 欧美性猛交 xxxx| 亚洲一级二级三级在线免费观看| 精品亚洲视频在线| 911久久香蕉国产线看观看| 国产日韩换脸av一区在线观看| 你懂的在线观看视频网站| 精品国产户外野外| 亚洲狠狠婷婷综合久久久久图片| 国产精品久久777777毛茸茸 | 亚洲成人激情小说| 牛夜精品久久久久久久99黑人| 91久久久久久| 在线āv视频| 日韩欧美一区二区久久婷婷| 日韩黄色免费观看| 岛国精品一区二区| 国产av麻豆mag剧集| 羞羞答答一区二区| 日韩美女主播视频| av在线电影网| 91精品视频网| 久久精品99国产精| av中文一区二区三区| 男人日女人下面视频| 亚洲精品小区久久久久久| 国产999视频| 91在线视频| 欧美一区二区三区婷婷月色| 国产一级一片免费播放| 91尤物视频在线观看| 久久男人资源站| 天堂一区二区三区四区| 国产精品r级在线| 精品黄色免费中文电影在线播放| 欧美影院精品一区| 天美传媒免费在线观看| 91综合久久| 国产精品理论片在线观看| 精品无码国模私拍视频| 曰本一区二区三区视频| 国产精品综合不卡av| 特级毛片在线| 亚洲精品一区二区在线| 在线视频 中文字幕| 亚洲女女做受ⅹxx高潮| www.男人天堂| 日韩激情在线观看| 天天干天天色天天爽| 欧美一区 二区| 国产日韩欧美一二三区| 暖暖在线中文免费日本| 一区二区三欧美| 亚洲国产成人精品一区二区三区| 欧美性jizz18性欧美| av资源在线免费观看| 成人免费毛片app| 超碰在线人人爱| 精品成人在线| 亚洲一区二区三区加勒比 | 性欧美猛交videos| 国产性色av一区二区| 狠狠人妻久久久久久综合麻豆| 在线视频一区二区三| 久久亚洲AV无码| 国产精品免费免费| 国产精品入口麻豆| 激情综合网天天干| 国产天堂在线播放| 亚洲国产一区二区三区a毛片| 亚洲一区三区视频在线观看| 天天躁日日躁成人字幕aⅴ| 91精品久久久久久久久久久| 在线视频超级| 欧美华人在线视频| 日本高清在线观看wwwww色| 精品亚洲一区二区三区在线观看| 国产精品一区二区免费视频| 一本久久综合亚洲鲁鲁五月天 | 国产欧美久久久久久久久| 亚洲精品一区中文| 狠狠人妻久久久久久综合麻豆| 欧美久久一区二区| 欧美另类高清videos的特点| 无码av免费一区二区三区试看| 99热精品免费| 成人欧美一区二区三区白人 | 婷婷中文字幕综合| 麻豆91精品91久久久| 亚洲欧美一区二区视频| 在线观看亚洲大片短视频| 91视视频在线直接观看在线看网页在线看| ass极品水嫩小美女ass| 久久成人羞羞网站| 成年人在线观看视频免费| 亚洲永久视频| 男女猛烈激情xx00免费视频| 欧美日韩视频一区二区三区| 国产日本欧美在线| 香蕉久久网站| 国内外成人激情免费视频| 婷婷激情图片久久| 综合色婷婷一区二区亚洲欧美国产| 国产尤物久久久| 亚洲mv在线看| 91综合久久一区二区| 亚洲欧美久久234| 久久一级电影| 18视频在线观看娇喘| 亚洲影视一区二区三区| 特大黑人娇小亚洲女mp4| 欧美成人久久| av在线观看地址| 亚洲伦伦在线| 日本三级免费网站| 老司机一区二区三区| 国产v亚洲v天堂无码久久久| 日韩成人免费看| 波多野结衣xxxx| 狠狠色综合日日| 亚洲成人福利视频| 成人精品一区二区三区四区 | 国产日韩欧美一区二区三区乱码| 偷拍夫妻性生活| 国产精品国产三级国产| 粉嫩av性色av蜜臀av网站| 亚洲已满18点击进入久久| 日本三级午夜理伦三级三| 色噜噜狠狠一区二区三区果冻| 蜜臀尤物一区二区三区直播| 欧美日韩aaaaaa| 国内毛片毛片毛片毛片| 亚洲国产精品va在线| 精品av中文字幕在线毛片| 日韩小视频网址| 波多野结依一区| 国产国语videosex另类| 亚洲图片小说区| 精品1区2区| 久久在线播放| 很污的网站在线观看| 日韩制服丝袜av| 色偷偷中文字幕| 91美女片黄在线观看91美女| 香蕉久久久久久久| 亚洲一区二区欧美日韩| 日韩乱码一区二区三区| 日韩欧美国产wwwww| 亚洲色图欧美视频| 久久激情五月丁香伊人| 多野结衣av一区| 成人激情电影一区二区| 美女视频亚洲色图| 在线观看日本一区| 国产亚洲永久域名| 免费黄频在线观看| 久久久久久麻豆| 久久精品99久久久久久| 欧美性猛片xxxx免费看久爱| 亚洲黄色精品视频| 中文字幕在线看视频国产欧美在线看完整 | 97国产成人无码精品久久久| 精品国产乱码久久久久久夜甘婷婷| 国内精品在线视频| 久久久久久亚洲精品中文字幕| 草莓视频成人appios| 国产视频99| 伊人久久大香线蕉精品组织观看| 国产裸体舞一区二区三区| 处破女av一区二区| 色哟哟一一国产精品| 欧美性xxxx在线播放| 亚洲黄色一级大片| 精品国产一区二区三区久久久| 成人免费无遮挡| 国产中文一区二区| 牛夜精品久久久久久久99黑人| 91人人澡人人爽人人精品| 99久久99久久综合| 久久久精品人妻一区二区三区四| 欧美日韩精品三区| 成a人片在线观看www视频| 日韩美女视频在线观看| 欧美a级网站| 日韩黄色短视频| 国产成人精品免费网站| 国产一二三区精品| 欧美亚洲国产怡红院影院| 欧美孕妇孕交| 欧美一区二区.| 日韩黄色网络| 久久综合九色综合88i| 国产xxx精品视频大全| 国产中文av在线| 欧美日韩三级一区| jizz亚洲| 国产视频999| 国产二区精品| 国产美女视频免费看| 亚洲欧洲成人自拍| 一女二男一黄一片| 日韩在线观看成人| 国产欧美日韩电影| 欧美少妇在线观看| 国产成人亚洲精品狼色在线| 91视频综合网| 精品精品国产高清a毛片牛牛 | 仙踪林久久久久久久999| 亚洲欧美日韩三级| 日韩美女视频一区二区| 国产理论视频在线观看| 欧美理论片在线观看| aaa国产精品| 久久久性生活视频| 91麻豆swag| 中文字幕精品视频在线观看| 国产一区二区三区在线播放免费观看 | 亚洲av片在线观看| 国产不卡视频在线| 欧美日韩性在线观看| 向日葵污视频在线观看| 亚洲免费看黄网站| 国产小视频一区| 欧美一级在线播放| 欧美日韩中文字幕一区二区三区 | 亚洲欧美偷拍一区| 日韩精品在线免费观看| 91看片一区| 色中文字幕在线观看| 国产不卡视频在线播放| 日韩网红少妇无码视频香港| 亚洲欧美中文在线视频| 久久免费资源| 青青青在线视频播放| 久久久久国产精品人| 色噜噜狠狠一区二区三区狼国成人| 亚洲精品影视| 91l九色lporny| 91精品国产乱码| 美女搞黄视频在线观看| 视频一区视频二区视频三区视频四区国产 | 国产精品初高中害羞小美女文| 国产熟女一区二区丰满| 韩日精品中文字幕| 成人综合一区| 麻豆精品国产传媒av| 欧美一a一片一级一片| 18网站在线观看| 日韩国产高清一区| 国产激情一区二区三区四区 | 欧美日韩激情在线观看| 日韩成人av在线| 日韩黄色三级在线观看| 日韩欧美不卡在线| 国产精品人成在线观看免费| 国产自产一区二区| 国产欧美日韩中文字幕| 99国产一区| 91 在线视频| 亚洲天堂av在线播放| 99这里只有精品视频| 国产精品v日韩精品v在线观看| 亚洲国产精品久久久久秋霞影院|