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

DCloud崔紅保:基于Vue技術(shù)開發(fā)微信小程序和原生App

原創(chuàng)
開發(fā) 前端
DCloud CTO崔紅保在WOT2018全球軟件與運維技術(shù)峰會上進行了主題為《基于Vue開發(fā)微信小程序和原生App》的演講,崔老師從小程序和App兩個平臺入手,對利用Vue技術(shù)棧進行跨端開發(fā)的方案及實現(xiàn)思路進行了詳細的講解。

【51CTO.com原創(chuàng)稿件】以微信小程序為代表的“免安裝”類應(yīng)用的火爆,以及其自成一體的開發(fā)規(guī)范,前端工程師面臨著愈來愈多的跨端開發(fā)工作,每日疲于應(yīng)付;此時,利用現(xiàn)有技術(shù)棧快速實現(xiàn)跨端開發(fā),成為各個前端團隊的迫切需求。DCloud CTO崔紅保在WOT2018全球軟件與運維技術(shù)峰會上進行了主題為《基于Vue開發(fā)微信小程序和原生App》的演講,崔老師從小程序和App兩個平臺入手,對利用Vue技術(shù)棧進行跨端開發(fā)的方案及實現(xiàn)思路進行了詳細的講解,下面我們先來看看基于Vue是如何實現(xiàn)微信小程序開發(fā)工作的。

[[231284]]

圖1 DCloud CTO 崔紅保

開發(fā)微信小程序

隨著微信小程序的興起,小程序背后的技術(shù)支持也如雨后春筍般層出不窮,縱觀各家解決方案,僅有兩家方案可以支持Vue的開發(fā)。其中之一是騰訊推出了一款類Vue的方案——WePy,但WePy無法完整的支持Vue開發(fā);其二是美團·點評團隊推出的mpvue,mpvue框架支持完整的Vue開發(fā)體驗,解決了廣大Vue開發(fā)者開發(fā)小程序的痛點,因此一經(jīng)推出,在短短20天的時間內(nèi),就獲得了7k+的用戶。

感謝mpvue開發(fā)團隊,為我們解決小程序的問題。下面會簡單快速介紹一下mpvue的主要特點及原理。

mpvue主要特性

mpvue的主要特性包括:

·徹底的組件化開發(fā)能力:提高代碼復(fù)用性

·完整的Vue.js開發(fā)體驗

·方便的Vuex數(shù)據(jù)管理方案:方便構(gòu)建復(fù)雜應(yīng)用

·快捷的webpack構(gòu)建機制:自定義構(gòu)建策略、開發(fā)階段hotReload

·支持使用npm外部依賴

·使用Vue.js命令行工具vue-cli快速初始化項目

·H5代碼轉(zhuǎn)換編譯成小程序目標代碼的能力

mpvue快速體驗

按照mpvue官方文檔,安裝vue-cli工具,執(zhí)行init命令就可以創(chuàng)建一個mpvue-quickstart模板項目,創(chuàng)建步驟及模板項目目錄結(jié)構(gòu)如下圖所示:

2

圖2 mpvue快速體驗

mpvue構(gòu)建流程

構(gòu)建流程是mpvue最核心的地方之一,通過webpack,完成了vue template到微信小程序的wxml及wxss的轉(zhuǎn)換,最終使之可以運行在微信小程序環(huán)境中。

如下圖所示,src目錄是標準的小程序目錄結(jié)構(gòu),dist目錄是經(jīng)過mpvue-loader編譯器轉(zhuǎn)化之后的目錄,可見下圖中的index.vue和main.js文件,轉(zhuǎn)成了小程序的js、wxml和wxss三個文件,甚至可能還會有第四個文件——json文件;而app.vue文件轉(zhuǎn)成了app.js、app.json和app.wxss文件。

3

圖3 mpvue構(gòu)建流程

mpvue實現(xiàn)原理

Vue.js 和小程序都是典型的邏輯視圖層框架,工作原理類似,都是數(shù)據(jù)變更驅(qū)動視圖更新,視圖交互觸發(fā)事件,事件響應(yīng)函數(shù)修改數(shù)據(jù),然后再次更新視圖。mpvue實際上作為一個橋梁,將小程序的數(shù)據(jù)綁定功能托管給了Vue;小程序負責視圖層展示,數(shù)據(jù)邏輯收斂到Vue中,Vue中數(shù)據(jù)變更后再同步到小程序,從而實現(xiàn)了兩套框架的數(shù)據(jù)同步。

4

圖4 mpvue實現(xiàn)原理

開發(fā)原生App

通過前面的介紹,我們了解到,借助mpvue,開發(fā)者可以基于Vue技術(shù)棧開發(fā)微信小程序;接下來的問題,如何基于Vue技術(shù)棧開發(fā)原生App呢?DCloud的思路是,既然已經(jīng)可以在小程序中正常運行,那實現(xiàn)一套和小程序一樣的App運行時環(huán)境,發(fā)布App的問題也就解決了。下面會分析小程序在運行時的框架并講解如何模擬小程序的運行時環(huán)境。

小程序框架

小程序框架主要分為視圖層和邏輯層,核心是一套響應(yīng)的數(shù)據(jù)綁定系統(tǒng),另外還包括基礎(chǔ)組件、頁面管理、微信JS API幾部分,如下圖所示:

5

圖5 小程序框架

數(shù)據(jù)綁定系統(tǒng)

小程序視圖層接收邏輯層的數(shù)據(jù)并渲染成UI視圖,同時將視圖層的事件發(fā)送給邏輯層。小程序的視圖是通過webview渲染的(并非原生渲染),在iOS平臺由WKWebview渲染,在Android平臺則由 X5 基于 Mobile Chrome 53/57 內(nèi)核來渲染。

邏輯層負責數(shù)據(jù)處理并輸出給視圖層,同時接收視圖層的事件通知。邏輯層和視圖層不同,并不是在webview中執(zhí)行,而是在一個獨立的JS進程(引擎)中運行。準確來說,iOS平臺的小程序邏輯層運行在JavaScriptCore 中,Android平臺的小程序邏輯層則運行在X5 的JSCore中。開發(fā)者在小程序中不同js文件寫的所有JavaScript代碼,***都會被打包合并成一份JavaScript代碼,然后運行在獨立的JS進程中。

拋開JS獨立進程還是webview運行環(huán)境不談,單說邏輯層和視圖層這套數(shù)據(jù)響應(yīng)框架,Vue其實有對應(yīng)的實現(xiàn),小程序和Vue是重復(fù)的,若自己實現(xiàn)一套App運行時環(huán)境的話,其實可以直接使用Vue的runtime,無需實現(xiàn)小程序的這套數(shù)據(jù)綁定系統(tǒng)。

基礎(chǔ)組件

小程序為開發(fā)者提供了一系列的基礎(chǔ)組件,包括:視圖容器、基礎(chǔ)內(nèi)容、表單組件、導(dǎo)航、媒體組件、地圖、畫布、開放能力。比如小程序的navigator標簽,

<navigator url=“/page/navigate/navigate”>

跳轉(zhuǎn)到新頁面

</navigator>

這個標簽和Vue的router-link標簽類似,可以替代。

<router-link to=“/page/navigate/navigate”>

跳轉(zhuǎn)到新頁面

</router-link>

至于其他的小程序標簽,比如View,也可以通過Vue的模板來模擬實現(xiàn),并將這些模板內(nèi)置到runtime中。這樣開發(fā)者繼續(xù)使用小程序的組件標簽,運行時會被Vue的模板替換。

微信原生API

微信小程序經(jīng)過一年多的發(fā)展完善,目前已支持了九大類、數(shù)百個原生API,方便調(diào)起微信及手機設(shè)備原生能力,例如設(shè)備信息、網(wǎng)絡(luò)環(huán)境、掃碼等,且這些API跨iOS、Android兩個平臺,若要將這些API從頭全部模擬實現(xiàn)一遍,將是一個非常巨大的工作量。

6

圖6 小程序框架-JS API

幸好,DCloud有Html5Plus的積累,經(jīng)過幾年的完善,也早已實現(xiàn)了常用功能的JS封裝。

7

圖7 HTML5+規(guī)范

我們可以在框架層將微信的API重寫成Html5Plus的JS API,這樣開發(fā)者寫著微信的API,實際調(diào)用的卻是Plus的能力。

8

當然了,微信API到Plus做不到***轉(zhuǎn)換,比如有一些基于微信自生態(tài)的,微信運動、朋友圈代碼等在Plus里是無法封裝的,所以需要進行條件編譯,從而實現(xiàn)平臺差異的代碼編寫及分平臺build。用微信運動舉例,實際運行如下:

9

前面已經(jīng)講了小程序運行時的主要功能模塊,并且簡要說了模擬實現(xiàn)的思路,DCloud將這套實現(xiàn)方案稱為uni-app,當然小程序runtime還需要有很多細節(jié)設(shè)計,才能保證***的用戶體驗。下面一個簡單示意圖來表示uni-app模擬實現(xiàn)的思路:

10

開發(fā)約束及平臺差異

為了兼容小程序和原生App,且盡可能的讓開發(fā)者復(fù)用目前的技術(shù)棧,崔紅保建議開發(fā)uni-app時遵循如下約定:

·通用原生js使用微信API,但建議將wx前綴替換為uni

·平臺特殊API,通過條件編譯調(diào)用平臺原生API

·數(shù)據(jù)綁定使用Vue

·標簽使用小程序的wxml

·模板指令使用Vue

·樣式遵循小程序的wxss

11

圖8 微信小程序、mpvue和uni-app開發(fā)規(guī)范對比

在語法規(guī)范方面,mpvue和uni-app使用的是Vue開發(fā)規(guī)范,微信小程序使用的是小程序開發(fā)規(guī)范;在標簽集合層,微信小程序和uni-app使用的是wxml,而mpvue使用的是html+wxml;在樣式規(guī)范層,微信小程序和uni-app使用的是wxss,mpvue使用的是sass/less/postcssd;JS能力層,微信小程序和mpvue使用的是wx前綴,uni-app使用的是uni前綴。

在具體實現(xiàn)層面,uni-app目前處于內(nèi)部測試階段,大概一個月左右發(fā)布,uni-app和目前的小程序相比,有些東西是不支持的,比如說分包加載,自定義插件,多線程(webwork),但同時新增了一些在APP里比較常見,但小程序沒有的功能,比如側(cè)滑導(dǎo)航、頂部選項卡、列表滑動、其它常用模板(登錄、indexList等)。

以上內(nèi)容是51CTO記者根據(jù)DCloud崔紅保在WOT2018全球軟件與運維技術(shù)峰會的演講內(nèi)容整理,更多關(guān)于WOT的內(nèi)容請關(guān)注51cto.com。

責任編輯:杜寧 來源: 51cto
相關(guān)推薦

2016-08-28 08:16:44

Dcloud崔紅保Web AP

2017-11-02 16:15:27

前端開發(fā)框架

2018-08-03 11:10:30

前端小程序vue.js

2017-11-09 18:10:28

APPH5

2017-05-08 15:03:07

微信小程序開發(fā)實戰(zhàn)

2016-09-28 18:10:59

微信程序MINA

2016-11-04 10:49:48

微信小程序

2016-09-27 16:38:24

JavaScript微信Web

2016-10-31 13:12:07

微信原生熱Web

2016-09-27 20:36:23

微信HttpWeb

2018-09-11 10:32:07

云開發(fā)小程序開發(fā)者

2024-05-31 09:06:14

2016-11-07 10:30:07

微信小程序安裝配置

2018-01-25 22:26:10

微信小程序app

2018-12-25 22:38:12

微信功能系統(tǒng)

2021-03-10 09:44:20

微信小程序APP

2021-05-15 06:22:54

微信小程序騰訊

2021-05-15 09:10:58

微信小程序開發(fā)者

2016-11-28 15:52:09

微信小程序開發(fā)

2016-10-20 21:02:12

微信小程序javascript
點贊
收藏

51CTO技術(shù)棧公眾號

中文字幕无线码一区| 无码人妻一区二区三区在线| 婷婷在线视频观看| 韩国成人精品a∨在线观看| 欧美另类高清videos| 国产精品扒开腿做爽爽爽a片唱戏| 国产伦理精品| 国产精品乱码妇女bbbb| 亚洲最大成人免费视频| 九九热在线视频播放| 久久裸体网站| 日韩精品免费在线观看| 日韩av在线中文| av白虎一区| 国产精品成人免费| 久久久久久一区| 国产三级小视频| 美女久久一区| 欧美精品www在线观看| 欧美 日韩 国产 成人 在线观看 | 亚洲第一色视频| 久久在线精品| 久久久最新网址| 日韩欧美综合视频| 欧美色女视频| 精品小视频在线| 日本久久久久久久久久| 涩涩涩久久久成人精品 | 91中文字幕在线播放| 国产日韩综合| 欧美丰满少妇xxxxx| 日韩欧美视频免费观看| 免费视频亚洲| 日韩麻豆第一页| 国产亚洲精品成人a| www.久久爱.com| 欧美剧情电影在线观看完整版免费励志电影| 欧美日韩黄色一级片| www在线免费观看视频| 国产精品另类一区| 亚洲精品久久区二区三区蜜桃臀| 午夜在线视频观看| 99这里只有精品| 国产精品区一区二区三在线播放| 精品二区在线观看| 国产又黄又大久久| 91精品在线观看视频| 在线观看中文字幕码| 强制捆绑调教一区二区| 国产成人自拍视频在线观看| 天堂中文在线网| 亚洲一区国产| 欧美一性一乱一交一视频| 日韩 欧美 精品| 亚洲国产专区校园欧美| 97精品一区二区三区| 亚洲国产综合久久| 99精品视频免费观看视频| 午夜剧场成人观在线视频免费观看| 欧美日韩综合一区二区| 欧美喷水视频| 97色在线视频观看| 国语对白永久免费| 日本亚洲最大的色成网站www| 国产精品电影网站| 91激情在线观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲一区美女视频在线观看免费| 99精品免费观看| 成人污污视频在线观看| 玖玖玖精品中文字幕| www.在线视频.com| 亚洲天堂av一区| 天堂8在线天堂资源bt| 国产精品xx| 色网站国产精品| 一女二男3p波多野结衣| 91精品久久久久久综合五月天| 亚洲福利在线看| 日韩av在线看免费观看| 99视频精品视频高清免费| 欧美精品免费看| 日本在线免费观看| 丝袜美腿亚洲色图| 亚洲中国色老太| 日韩在线视频第一页| 日本一区二区三区久久久久久久久不| 中文精品一区二区三区| 97超碰免费在线| 欧美性猛片aaaaaaa做受| 欧美体内she精高潮| 日韩a级大片| 日韩专区在线播放| 久久精品国产亚洲AV无码男同 | 亚洲蜜臀av乱码久久精品蜜桃| 9色porny| 国产精品天堂蜜av在线播放| 欧美大片一区二区| 影音先锋男人在线| 激情文学一区| 国产精品普通话| 欧美一级一区二区三区| 国产精品黄色在线观看| 亚洲人成无码网站久久99热国产| 成人黄色免费观看| 亚洲国产小视频在线观看| 国产极品视频在线观看| 亚洲美洲欧洲综合国产一区| 91精品视频一区| 国产视频福利在线| 亚洲国产日日夜夜| 天堂中文av在线| 伊人精品一区| 欧美激情欧美激情在线五月| 中文字幕在线观看视频一区| 国产.欧美.日韩| 国产91av视频在线观看| 精品国产免费人成网站| 精品国产乱码久久久久久蜜臀| 少妇高潮惨叫久久久久| 久久精品1区| 成人欧美一区二区三区白人| 98精品国产高清在线xxxx天堂| 在线观看国产黄| xnxx国产精品| 国产自产在线视频| 日韩中文字幕在线一区| 色老头一区二区三区在线观看| 好吊妞视频一区二区三区| 国产成人在线色| 正在播放精油久久| 激情小说亚洲| 国产一区二区三区毛片| 特级西西444www大精品视频免费看| 国产精品一区在线观看你懂的| 亚洲bbw性色大片| 国产精品av一区二区三区| 亚洲国产成人爱av在线播放| 欧美成人777| 麻豆成人免费电影| 亚洲第一导航| 福利视频一区| 日韩在线视频国产| 在线观看免费视频一区| 亚洲国产高清在线观看视频| 成人在线观看a| 国产精品一区二区三区av麻| 日韩av片免费在线观看| 国产资源在线看| 一本大道综合伊人精品热热| 91精品天堂| 亚洲一区 欧美| 三级亚洲高清视频| 相泽南亚洲一区二区在线播放| 激情都市亚洲| 色777狠狠综合秋免鲁丝| 最近中文字幕在线观看视频| 中文字幕av在线一区二区三区| www午夜视频| 在线免费观看日本欧美爱情大片| 成人激情春色网| 日本三级韩国三级欧美三级| 亚洲成成品网站| 国产成人无码精品久久久久| 久久婷婷国产综合精品青草| 538在线视频观看| 欧美aaaaaaaaaaaa| 成人在线免费观看一区| 鲁鲁在线中文| 一本大道久久加勒比香蕉| 中文字幕自拍偷拍| 亚洲欧美欧美一区二区三区| 特级特黄刘亦菲aaa级| 亚洲一区日韩在线| 一区二区三区电影| 在线播放一区二区精品视频| 91精品国产精品| seseavlu视频在线| 欧美一级高清片在线观看| 日本一二三区视频| 国产精品麻豆久久久| 苍井空张开腿实干12次| 午夜在线观看免费一区| 亚洲精品一卡二卡三卡四卡| 91麻豆精品激情在线观看最新| 欧美亚洲国产视频小说| 婷婷激情在线| 亚洲黄色免费三级| 怡红院男人天堂| 亚洲精品国产一区二区精华液| 自拍视频一区二区| 国产在线精品一区二区不卡了| 国产成a人亚洲精v品在线观看| 国产伦一区二区三区| 亚洲精品免费网站| 日韩大片欧美大片| 色综合久久88色综合天天看泰| 天堂成人在线| 日韩你懂的在线播放| 欧美精品v日韩精品v国产精品| 国产高清视频免费最新在线| 日韩欧美一级精品久久| 国产精品欧美综合| 亚洲电影在线播放| 91动漫免费网站| 97超碰欧美中文字幕| 99九九精品视频| 久久综合婷婷| 91精品国产91久久久久麻豆 主演| 成人毛片在线| 另类小说综合网| 成功精品影院| 亚洲精品免费在线视频| 97久久网站| 性视频1819p久久| 亚洲按摩av| 日韩视频在线免费| 国产精品免费观看| 日韩国产在线播放| 精品久久国产视频| 欧美色图一区二区三区| 欧美三级韩国三级日本三斤在线观看| 国产精品久久久久影院| 新91视频在线观看| av网站免费线看精品| 能看毛片的网站| 韩日精品视频一区| 欧美成人三级在线播放| 日日摸夜夜添夜夜添精品视频| www国产精品内射老熟女| 在线精品一区| 免费视频爱爱太爽了| 综合久久十次| 一区二区免费在线视频| 日韩久久久久| 亚洲a∨一区二区三区| 国产在线观看91一区二区三区| 精品乱子伦一区二区三区| 成人h动漫免费观看网站| 亚洲最大的网站| 国产精品777777在线播放| 国产免费一区二区三区在线能观看 | av不卡一区二区三区| av不卡中文字幕| 国产成都精品91一区二区三| 欧美国产日韩在线视频| 国产一区二区三区久久久| 999热精品视频| 国产精品一区二区三区99| 亚洲黄色片免费看| 国产伦精品一区二区三区免费迷 | 伊色综合久久之综合久久| 99国产在线观看| 久久a爱视频| 六十路精品视频| 精品国产91久久久久久浪潮蜜月| 欧美精彩一区二区三区| 国产中文精品久高清在线不| 色就是色欧美| 婷婷亚洲综合| 日本高清视频免费在线观看| 欧美日韩午夜| 日本中文字幕网址| 亚洲专区免费| 午夜免费看视频| 精品一区二区综合| 992tv人人草| 白白色 亚洲乱淫| 精品无码国产污污污免费网站| 国产目拍亚洲精品99久久精品| 青青草自拍偷拍| 亚洲男人的天堂在线观看| 九九热精彩视频| 欧美日韩精品在线播放| 午夜精品一区二| 欧美久久久久久久久| 国产黄频在线观看| 亚洲精品国产精品久久清纯直播 | 男女啪啪网站视频| 青椒成人免费视频| 国产成人av片| 久久久精品日韩欧美| 欧美视频www| 欧美日韩国产一区二区| 亚洲在线观看av| 亚洲电影中文字幕| 搞黄视频免费在线观看| 欧美日韩国产va另类| 精品国产免费人成网站| 91av一区二区三区| 精品国产乱码久久久久久蜜坠欲下 | 青青操视频在线| 超碰91人人草人人干| 国产精品专区免费| 亚洲一区二区三区在线免费观看| 亚洲美女15p| 国产成年人在线观看| 午夜在线精品偷拍| 四川一级毛毛片| 国产欧美一区二区在线观看| 精品在线视频观看| 欧美日韩精品综合在线| 天堂中文在线8| 久久国产视频网站| 视频精品导航| 鲁鲁视频www一区二区| 中文字幕日韩欧美精品高清在线| 成年人免费在线播放| 国产福利一区二区三区| 国产免费嫩草影院| 欧美性猛xxx| 亚洲黄色在线观看视频| 中文字幕亚洲激情| 久久r热视频| 国产综合欧美在线看| 亚洲一区色图| 在线观看国产一级片| 26uuu国产日韩综合| 不卡的免费av| 日韩女同互慰一区二区| 欧美激情黑人| 国产伦精品免费视频| 欧洲专线二区三区| 大肉大捧一进一出好爽视频| 成人免费va视频| 欧美日韩免费做爰视频| 51精品秘密在线观看| 超碰在线影院| 国产mv久久久| 国产一区二区三区91| 成人免费在线小视频| 99久久精品费精品国产一区二区| 青青草手机在线观看| 这里只有精品99re| 欧美成人性生活视频| 国产剧情久久久久久| 成人羞羞网站入口| 亚洲 欧美 日韩系列| 国产亲近乱来精品视频| 91青青草视频| 中文字幕精品—区二区| 99久久亚洲国产日韩美女| 日韩福利影院| 日本免费新一区视频| 蜜桃av乱码一区二区三区| 在线观看视频91| av在线电影观看| 国产欧美一区二区三区视频| 欧美成免费一区二区视频| 伊人影院综合在线| 亚洲人成影院在线观看| 99久久精品国产一区色| 色综合老司机第九色激情| 999国产精品一区| 久久综合色视频| 国产亚洲1区2区3区| 中文字幕无码乱码人妻日韩精品| 色爱av美腿丝袜综合粉嫩av| 亚洲人成网站在线在线观看| 桥本有菜av在线| 国产成人综合在线| 久久久久久久黄色片| 亚洲无亚洲人成网站77777| 成人自拍视频网| 中国一级黄色录像| 成人在线一区二区三区| 国产午夜免费福利| 在线观看欧美成人| 国产精品日本一区二区不卡视频| 国产精品三级一区二区| www.99精品| 国产在线观看第一页| yellow中文字幕久久| 中文字幕一区日韩精品 | 日日噜噜夜夜狠狠久久波多野| 91精品一区二区三区在线观看| 日皮视频在线观看| 久久伦理网站| 蜜臀av性久久久久av蜜臀妖精| 免费在线一区二区三区| 精品亚洲aⅴ在线观看| 亚洲福利影视| 欧美黑人经典片免费观看| 亚洲国产电影在线观看| 国产av无码专区亚洲a∨毛片| 亚洲18私人小影院| 日韩毛片视频| 这里只有精品在线观看视频| 欧美视频日韩视频在线观看| av在线播放观看| 欧美高清视频一区| 国产在线精品不卡| 在线能看的av| 日韩视频免费观看| 色综合久久中文| 国内精品国产三级国产aⅴ久| 欧美日韩亚洲系列| 中中文字幕av在线| 午夜精品福利一区二区| 不卡的av网站|