精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

www日韩中文字幕在线看| 91福利在线播放| 国产一区视频观看| aaa在线视频| 亚洲免费二区| 亚洲精品电影在线| 午夜激情av在线| 激情图片在线观看高清国产| 91香蕉视频mp4| 国产日韩精品在线播放| 日本特黄一级片| 色婷婷色综合| 精品国产乱码久久久久久浪潮 | 在线观看免费视频综合| 最新av在线免费观看| 亚洲 欧美 自拍偷拍| 国产精品一区二区免费福利视频| 亚洲精品中文在线观看| 久久一区二区三区av| 91丨porny丨在线中文| 国产精品色网| 久久久久久av| 亚洲一二三在线观看| 亚洲bt欧美bt精品777| 欧美一区二区三区思思人| 色综合av综合无码综合网站| 亚洲第一图区| 国产精品乱码一区二三区小蝌蚪| 精品综合在线| 成人免费观看在线视频| 精品一区二区三区免费视频| 琪琪第一精品导航| 日韩精品视频播放| 亚洲午夜黄色| 毛片精品免费在线观看| 国产精品v日韩精品v在线观看| 国产免费拔擦拔擦8x在线播放| 中文字幕一区二区5566日韩| 日韩欧美视频一区二区| 天天操天天操天天干| 国产精品18久久久久久久久| 国产日韩欧美日韩大片| 国产精品欧美综合| 久久久xxx| 欧美有码在线观看| 91国产丝袜播放在线| 国产一区在线电影| 亚洲电影在线播放| 久久精品欧美| 日本高清视频在线| 国产91在线|亚洲| 91免费看网站| www.蜜臀av| 亚洲激情午夜| 久久免费视频网站| 国产精品a成v人在线播放| 亚洲人成伊人成综合图片| 精品国产乱码久久| 亚洲一区二区三区四区av| youjizz亚洲| 亚洲精品不卡在线| 亚洲色图14p| 日韩电影不卡一区| 亚洲色图25p| 国产无遮挡在线观看| 成人免费a**址| 色偷偷88888欧美精品久久久| 99国产精品免费| 91精品综合| 欧美极品少妇xxxxⅹ裸体艺术| 久久久久性色av无码一区二区| 伊人影院久久| 欧美在线观看一区二区三区| 伦av综合一区| 久久99精品久久久| 97中文在线观看| 性xxxx视频| 国产无遮挡一区二区三区毛片日本| 日韩精品一区二区三区丰满| 视频免费一区| 亚洲国产日韩一区二区| 亚洲熟妇av日韩熟妇在线| 欧美成人黑人| 3d动漫精品啪啪一区二区竹菊 | 国产高清精品二区| 精品少妇一区二区三区日产乱码| 日本一区二区在线免费观看| 欧美色图一区| 欧美黄色性视频| 成人亚洲视频在线观看| 国产精品久久久久久久久久辛辛| 欧美卡1卡2卡| 私密视频在线观看| 日韩精品免费一区二区在线观看| 久久91精品国产91久久跳| 手机免费看av| 这里只有精品在线| 欧美孕妇与黑人孕交| 国产又爽又黄免费软件| kk眼镜猥琐国模调教系列一区二区| 欧美日韩国产精品一区二区| 国产在线激情| 色综合婷婷久久| 国产九九九视频| 亚州国产精品| 欧美伦理91i| 久久久精品毛片| 另类调教123区| 国产精品.com| 国产理论电影在线观看| 一区二区三区高清| 亚洲国产精品久久久久婷婷老年| 欧美人与牲禽动交com| 亚洲免费在线电影| 国语对白做受xxxxx在线中国| 亚洲成人高清| 亚洲天堂av在线播放| 久久久久香蕉视频| 国内精品第一页| 天堂社区 天堂综合网 天堂资源最新版| 黄色成人在线网| 欧美丰满一区二区免费视频| 欧美 日韩 国产 成人 在线观看| 伊人久久成人| 亚洲一区二区三区xxx视频| 黄色在线观看网| 亚洲va国产va欧美va观看| www.午夜av| 久久综合国产| www.国产一区| 精品久久久久久久久久久久久久久久久久| 高清免费成人av| 综合色婷婷一区二区亚洲欧美国产| 裤袜国产欧美精品一区| 亚洲精品91美女久久久久久久| 久久久久久久久久久久久女过产乱| 蜜臀91精品一区二区三区 | 91网上在线视频| www.日本在线视频| 青草综合视频| 日韩一中文字幕| 中文字幕精品一区二区精| 久久久久国产免费免费| 能在线观看的av| 在线日本欧美| 欧美精品免费视频| 九一在线免费观看| 全部av―极品视觉盛宴亚洲| 日韩欧美手机在线| 日韩不卡在线| 综合网中文字幕| 中文字幕在线播出| 国产精品久久二区二区| 亚洲天堂伊人网| 91tv官网精品成人亚洲| 91av一区二区三区| 久久青青色综合| 亚洲国产古装精品网站| 日韩欧美一区二区一幕| 99久久久精品| 黄色片一级视频| 欧美日韩一区二区综合| 国产免费一区二区三区在线能观看| av福利在线播放| 欧美一区二区三级| 青青草激情视频| 不卡一区二区在线| 不卡影院一区二区| 91视频综合| 国产精成人品localhost| 日本在线影院| 中文字幕亚洲第一| 精品久久久久成人码免费动漫| 亚洲最色的网站| 捆绑裸体绳奴bdsm亚洲| 久久蜜桃精品| 欧美日韩一级在线| 岛国成人av| 国产精品久久久久久久一区探花 | 亚洲毛片免费看| 国产精品亚发布| 怡红院av在线| 亚洲人成网站免费播放| 国产精品久久久久精| 亚洲国产欧美在线| 免费视频91蜜桃| 国产精品综合一区二区三区| 国产乱子伦农村叉叉叉| 手机在线一区二区三区| 久久爱av电影| 免费视频观看成人| 97国产精品视频| 欧美激情办公室videoshd| 亚洲第一福利网站| 亚洲一区二区人妻| 偷偷要91色婷婷| caoporn91| 国产网站一区二区三区| 国产av一区二区三区传媒| 日本亚洲天堂网| 农民人伦一区二区三区| 欧美日韩播放| 97在线看免费观看视频在线观看| 国产一级免费在线观看| 日韩视频一区二区| 久久精品国产亚洲av麻豆蜜芽| 亚洲一区影音先锋| 正在播放国产对白害羞| 97se亚洲国产综合自在线| 中文字幕12页| 男男视频亚洲欧美| 人人妻人人添人人爽欧美一区| 国产精品不卡| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 成人综合视频在线| 欧美一区二区| 一区二区不卡在线视频 午夜欧美不卡'| 精品自拍偷拍| 国产高清自拍一区| 久久爱www.| 国产女同一区二区| www.成人爱| 久久久久久久久久国产精品| 老司机精品影院| 中文字幕九色91在线| 十九岁完整版在线观看好看云免费| 8v天堂国产在线一区二区| 99re这里只有精品在线| 午夜婷婷国产麻豆精品| 久久久无码精品亚洲国产| 日韩久久一区二区| 国产精品久久久免费看| 国产目拍亚洲精品99久久精品| 亚洲精品中文字幕在线播放| 国产精品亚洲视频| 亚洲 国产 图片| 三级欧美韩日大片在线看| 国产亚洲欧美在线视频| 亚洲国产免费看| 久久手机在线视频| 亚洲午夜91| 日本精品久久久久久久久久| 国产精品mm| 欧美国产综合在线| 亚洲日本黄色| 波多野结衣家庭教师在线播放| 亚洲精品黄色| www.av中文字幕| 中文一区二区| 日韩精品一区二区三区色欲av| 亚洲尤物影院| 欧美黑人又粗又大又爽免费| 男女性色大片免费观看一区二区| 久久久久国产一区| 久久99深爱久久99精品| 中文字幕66页| 国产精品一二三四区| 风韵丰满熟妇啪啪区老熟熟女| 成人午夜电影网站| 免费中文字幕av| 久久精品免视看| 日韩亚洲欧美中文字幕| 亚洲欧美电影院| 久久精品视频6| 欧美性猛交xxxx乱大交蜜桃| 国产无遮挡又黄又爽又色视频| 欧美视频在线播放| 毛片a片免费观看| 亚洲小说欧美激情另类| 国产精品成人久久| 午夜欧美一区二区三区在线播放| 黄色大片网站在线观看| 在线视频亚洲一区| 国产尤物在线观看| 日韩一区二区视频| 色鬼7777久久| x99av成人免费| а√天堂资源官网在线资源| 国产成人精品在线视频| 亚洲欧美在线人成swag| 欧美在线视频一二三| se69色成人网wwwsex| 亚洲一区免费网站| 日韩欧美在线精品| 伊人情人网综合| 亚洲福利一区| 在线观看国产一级片| 岛国精品在线播放| 婷婷色一区二区三区| 亚洲综合在线观看视频| 日韩人妻精品中文字幕| 制服丝袜日韩国产| 水莓100国产免费av在线播放| 日韩在线观看免费网站 | 亚洲少妇一区二区| 国产亚洲一区二区在线观看| 青娱乐91视频| 欧美性大战久久| 手机在线不卡av| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 日本黄区免费视频观看| 午夜成人免费电影| 国产精品欧美久久久久天天影视| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 尤物九九久久国产精品的分类| 亚洲婷婷噜噜| 国产精品专区第二| 牲欧美videos精品| 日本高清视频免费在线观看| 日韩高清欧美激情| 一起草在线视频| 一级女性全黄久久生活片免费| 五月激情丁香网| 亚洲欧美日韩国产中文| segui88久久综合| 成人性生交xxxxx网站| 精品久久精品| 日本成年人网址| 成人在线综合网站| 亚洲成人生活片| 91精品国产麻豆国产自产在线 | 国产又粗又猛又爽又黄的| 亚洲人午夜色婷婷| 水蜜桃在线视频| 国产精品亚洲不卡a| 成人h动漫精品一区二区器材| 亚洲一卡二卡区| 日本在线播放一区二区三区| 大地资源二中文在线影视观看| 亚洲在线免费播放| 国产av一区二区三区精品| 日韩欧美中文一区二区| 日本三级视频在线播放| 国产精品视频免费在线| 国产91一区| 成熟老妇女视频| 91网站最新网址| av大片免费在线观看| 精品乱人伦小说| 日本在线观看大片免费视频| 99精品99久久久久久宅男| 影音先锋成人在线电影| 亚洲精品永久视频| 亚洲天堂中文字幕| 国产高清第一页| 欧美精品在线网站| 国产美女亚洲精品7777| 女人床在线观看| 国产99精品国产| 日韩精品久久久久久久| 亚洲精品自拍第一页| 777电影在线观看| 国产精品久久久久久久久久三级| 久久综合色占| 无限资源日本好片| 中文字幕色av一区二区三区| 国产精品欧美久久久久天天影视| 欧美成年人在线观看| 9l亚洲国产成人精品一区二三| 国产黄色激情视频| 99久久精品费精品国产一区二区| 激情五月色婷婷| 亚洲色图第一页| 91成人福利社区| 欧美在线观看视频免费| av在线不卡免费看| 无码日韩精品一区二区| 日韩在线观看免费高清| www.成人网| 无码人妻精品一区二区三区在线| 久久久99免费| 国产精品久久久久久久免费看| 欧美国产日韩xxxxx| 欧美丝袜足交| 亚洲一级免费在线观看| 夜夜揉揉日日人人青青一国产精品 | 日韩电影大全在线观看| 精品一区二区在线观看| 国产真实的和子乱拍在线观看| 亚洲精品视频免费在线观看| 激情小说亚洲| 草草视频在线免费观看| 久久久电影一区二区三区| 国产男女裸体做爰爽爽| 97在线免费观看| 婷婷亚洲综合| 美国黄色一级毛片| 欧美日韩精品电影| 91超碰在线免费| 亚洲精品无人区| 成人av在线播放网站| 中文字幕乱码人妻二区三区| 欧美激情a在线| 成人无号精品一区二区三区| 深夜视频在线观看| 欧美裸体一区二区三区| 亚洲欧洲日本韩国| 成人国产在线看| 中文文精品字幕一区二区| 丰满岳乱妇国产精品一区|