欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

微信小程序開發(fā)框架MINA的示例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)微信小程序開發(fā)框架MINA的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比平泉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式平泉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋平泉地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

小程序MINA框架,及優(yōu)點(diǎn)

MINA框架:

小程序使用的是MINA框架,目的是通過簡(jiǎn)單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生App體驗(yàn)的服務(wù)。 

MINA的核心是一個(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng)。

 整個(gè)系統(tǒng)分為兩塊:視圖層(view,描述語言wxml和wxss)和邏輯層(App Serice,基于 JavaScript)。這可以讓數(shù)據(jù)與視圖非常簡(jiǎn)單的保持同步。當(dāng)做數(shù)據(jù)修改時(shí),只需要在邏輯層改數(shù)據(jù),視圖層就會(huì)做響應(yīng)的更新。開發(fā)者只需要將頁面路由、方法、生命周期函數(shù)注冊(cè)進(jìn)框架,其他的一切復(fù)雜的操作都將由框架處理。

小程序優(yōu)點(diǎn):

? 方便使用:無需下載,打開即用,用完即走。不占用手機(jī)內(nèi)存,省流量,省安裝時(shí)間
? 開發(fā)簡(jiǎn)單:開發(fā)的本質(zhì)是MVVM風(fēng)格的Javascript框架上開發(fā)的,有前端經(jīng)驗(yàn)的程序員可以無縫銜接,無經(jīng)驗(yàn)的“小白”也可以快速入門。
? 跨平臺(tái)運(yùn)行:不用再分別開發(fā)IOS和Andriod版本,只需要發(fā)布微信小程序平臺(tái),所有平臺(tái)都可以使用。開發(fā)成本低
? 快速分發(fā)與迭代:無需關(guān)心各種發(fā)布渠道,也無須擔(dān)心舊版本升級(jí)的兼容問題。 

 打開速度比H5快,體驗(yàn)接近原生APP

小程序開發(fā)框架的目標(biāo)是通過盡可能簡(jiǎn)單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生 APP 體驗(yàn)的服務(wù)。

微信團(tuán)隊(duì)為小程序提供的框架命名為MINA。MINA框架通過封裝微信客戶端提供的文件系統(tǒng)、網(wǎng)絡(luò)通信、任務(wù)管理、數(shù)據(jù)安全等基礎(chǔ)功能,對(duì)上層提供一整套JavaScript API,讓開發(fā)者方便的使用微信客戶端提供的各種基礎(chǔ)功能與能力,快速構(gòu)建應(yīng)用。

MINA框架

微信小程序的框架示意圖如下所示:

微信小程序開發(fā)框架MINA的示例分析

MINA框架主要分為兩大部分:

第一部分頁面視圖層,開發(fā)者使用WXML文件來搭建頁面的基本視圖結(jié)構(gòu)(WXML是類似于HTML標(biāo)簽的語言和一系列基礎(chǔ)組件),使用WXSS文件來控制頁面的表現(xiàn)樣式。

第二部分AppService應(yīng)用邏輯層,是MINA框架的服務(wù)中心,通過微信客戶端啟動(dòng)異步線程單獨(dú)加載運(yùn)行,頁面渲染所需的數(shù)據(jù)、頁面交互處理邏輯都在其中實(shí)現(xiàn)。MINA框架中的AppService使用JavaScript來編寫交互邏輯、網(wǎng)絡(luò)請(qǐng)求、數(shù)據(jù)處理,但不能使用JavaScript中的DOM操作。小程序中的各個(gè)頁面可以通過AppService實(shí)現(xiàn)數(shù)據(jù)管理、網(wǎng)絡(luò)通信、生命周期管理和頁面路由。

MINA框架為頁面組件提供了一系列事件監(jiān)聽相關(guān)的屬性(比如bindtap、bindtouchstart等),來與AppService中的事件處理函數(shù)綁定在一起,來實(shí)現(xiàn)頁面向AppService層同步用戶交互數(shù)據(jù)。MINA框架同時(shí)提供了很多方法將AppService中的數(shù)據(jù)與頁面進(jìn)行單向綁定(注意數(shù)據(jù)的綁定方向是單向的),當(dāng)AppService中的數(shù)據(jù)變更時(shí),會(huì)主動(dòng)觸發(fā)對(duì)應(yīng)頁面組件的重新渲染。

框架的核心是一個(gè)響應(yīng)式的數(shù)據(jù)綁定系統(tǒng),它能讓數(shù)據(jù)與視圖很簡(jiǎn)單的保持同步。只需要在邏輯層修改數(shù)據(jù),視圖層就會(huì)做相應(yīng)的更新。示例如下:

<!--頁面視圖層代碼--> 
<view class="apptitle">
 <text class="app-avatar">歡迎使用{{appname}}</text>
 <button bindtap="changeAppname">更換名稱 </button>
</view>
//AppService應(yīng)用邏輯層代碼
//初始數(shù)據(jù)
page({
 data:{
  appname:'易投票'
 },
 changeAppname:function(e){
  this.setData({
  appname:'我的小程序'
 })
 }
})

微信小程序開發(fā)框架MINA的示例分析 微信小程序開發(fā)框架MINA的示例分析

圖1:初始名稱

圖2:點(diǎn)擊按鈕“更換名稱”以后

示例中數(shù)據(jù)是如何更新的呢?首先,開發(fā)者通過框架將AppService應(yīng)用邏輯層數(shù)據(jù)中的appname與頁面視圖層名為appname的變更進(jìn)行了綁定,頁面在剛打開的時(shí)候會(huì)顯示“歡迎使用 易投票。然后,當(dāng)點(diǎn)擊按鈕“更換名稱”之后,視圖層會(huì)發(fā)送changeAppname的tap事件給邏輯層,邏輯層找到事件函數(shù)changeAppname。最后,邏輯層changeAppname函數(shù)執(zhí)行了setData操作,將對(duì)象appname的值改變?yōu)椤拔业男〕绦颉?,因?yàn)樵搶?duì)象已經(jīng)在視圖層綁定,所以視圖層會(huì)顯示為圖2的名稱了。

小程序的MINA框架有著接近原生App的運(yùn)行速度,在框架層面做了大量的優(yōu)化,在重功能上(page或tab切換、多媒體、網(wǎng)絡(luò)連接等)上使用接近于native的組件繼承,對(duì)安卓和ios端做出了高度一致的呈現(xiàn),還有近乎完備的開發(fā)、調(diào)試工具。

目錄結(jié)構(gòu)

典型的小程序目錄結(jié)構(gòu)非常簡(jiǎn)潔,一般一個(gè)項(xiàng)目包含兩個(gè)目錄(pages和utils)三個(gè)文件(app.js、app.json、app.wxss)。pages目錄下包括程序所需的各個(gè)頁面,一個(gè)頁面對(duì)應(yīng)一個(gè)目錄,包含2至4個(gè)文件(.js、.wxml、.json及.wxss)。utils目錄則包含一些公共的js代碼文件。當(dāng)然,我們還可以添加其他的公共目錄,如用來存放本地圖片資源的images目錄。

微信小程序開發(fā)框架MINA的示例分析

邏輯層

小程序的邏輯層就是所有.js腳本文件的集合。小程序在邏輯層處理數(shù)據(jù)并發(fā)送至視圖層,同時(shí)接受視圖層發(fā)回的事件請(qǐng)求。

MINA框架的邏輯層是由JavaScript編寫,在此基礎(chǔ)上,微信團(tuán)隊(duì)做出了一些優(yōu)化,以便更高效的開發(fā)小程序,這些優(yōu)化包括:

1、增加app方法用來注冊(cè)程序,增加page方法用來注冊(cè)頁面;

2、提供豐富的API接口;

3、頁面的作用域相對(duì)獨(dú)立,并擁有了模塊化的能力;

簡(jiǎn)單概括,邏輯層就是各個(gè)頁面的.js腳本文件。

需要注意的是,小程序的邏輯層由js編寫,但并不是在瀏覽器中運(yùn)行的,所以JavaScript在Web中的一些能力都不能使用,比如 dom、window等,這也是我們開發(fā)過程中要克服的阻礙。

視圖層

對(duì)于微信小程序而言,視圖層就是所有的.wxml(WeiXin Markup language)文件與.wxss(WeiXin Style Sheet)文件的集合:.wxml用于描述頁面結(jié)構(gòu)而.wxss用于描述頁面樣式。

視圖層以給定的樣式來展現(xiàn)數(shù)據(jù)并反饋事件給邏輯層,而數(shù)據(jù)展現(xiàn)是以組件來進(jìn)行的。組件(Component)是視圖的基本組成單元。

數(shù)據(jù)層

數(shù)據(jù)層包括臨時(shí)數(shù)據(jù)或緩存、文件存儲(chǔ)、網(wǎng)絡(luò)存儲(chǔ)與調(diào)用。

1、頁面臨時(shí)數(shù)據(jù)或緩存

在頁面page()中,我們要使用setData函數(shù)來將數(shù)據(jù)從邏輯層發(fā)送到視圖層,同時(shí)改變對(duì)應(yīng)的this.data的值。this在小程序中一般指調(diào)用頁面,廣泛情況下指的是包含它的函數(shù)作為方法被調(diào)用時(shí)所屬的對(duì)象。直接修改this.data是無效的,無法改變頁面的狀態(tài),還會(huì)造成數(shù)據(jù)的不一致。單次設(shè)置的數(shù)據(jù)有一個(gè)大小限制,不能超過1024KB,避免一次性設(shè)置過多的數(shù)據(jù)。

setData()函數(shù)的參數(shù)接受一個(gè)對(duì)象。以key,value的形式表示,將this.data中的key對(duì)應(yīng)的值改變?yōu)関alue。key可以非常靈活,包括以數(shù)據(jù)路徑的形式表示,如array[0].title,并且無需在this.data中預(yù)定義。

2、文件存儲(chǔ)(本地存儲(chǔ))

使用微信提供的現(xiàn)成數(shù)據(jù)API接口,如:

wx.getStorage:獲取本地?cái)?shù)據(jù)緩存

wx.setStorage:設(shè)置本地?cái)?shù)據(jù)緩存

wx.clearStorage:清理本地?cái)?shù)據(jù)緩存

3、網(wǎng)絡(luò)存儲(chǔ)與調(diào)用

上傳或下載文件的API接口,如:

wx.request:發(fā)起網(wǎng)絡(luò)請(qǐng)求

wx.uploadFile:上傳文件

wx.downloadFile:下載文件

調(diào)用URL的API接口如下:

wx.navigateTo:保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面。但是不能跳到 tabbar 頁面??煞祷卦撁?。

wx.redirectTo:關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面。但是不允許跳轉(zhuǎn)到 tabbar 頁面。不可返回原頁面。

關(guān)于“微信小程序開發(fā)框架MINA的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

分享標(biāo)題:微信小程序開發(fā)框架MINA的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article18/coepdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、營(yíng)銷型網(wǎng)站建設(shè)定制網(wǎng)站、ChatGPT品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
国产精品国产三级国av中文| 最近av中文字幕电影| 中文乱码字幕亚洲精品| 国产内射一级一片内射高清视频1| 日韩欧美国产精品一区二区| 中文字幕日韩午夜精品| 国产精品国产精品三级在线观看| 给我搜一个一级黄色片| 免费看欧美粗又大爽老| 日韩欧美亚洲另类激情一区| 2021天天操夜夜爽| 国产成人综合亚洲乱淫.| 日韩欧美 高清一区| 十八禁在线观看国产一区| 成年人性生活一级视品| 大香蕉欧美视频伊在线| 五月婷婷色综合激情五月| 精品久久久久久久久极品| 中日韩一二三四区在线看| 在线 | 一区二区三区四区| 亚洲午夜一区二区三区精品影院| 日韩一区二区精品网站| 中文字幕精品一区二区介绍| 深夜视频在线观看成人| 日韩欧美中文字幕区| 中文字幕精品高清中国| 亚洲综合中文字幕久久网址| 国产黄片a三级久久久久久| 亚洲天堂av成人在线观看| 日韩精品在线观看天堂| 日韩av在线观看大全| 日韩人妖视频在线观看| 伊人亚洲中文一区二区| 亚洲一区二区三区日韩欧美| 日韩日韩毛片日韩毛片| 涩涩涩丁香色婷五月网| 十八禁在线观看国产一区| 国产av综合一区二区三区最新 | 91国语对白在线观看| 中文字幕精品一区二区三区视频| 午夜福利不卡片在线观看|