小程序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,描述語(yǔ)言wxml和wxss)和邏輯層(App Serice,基于 JavaScript)。這可以讓數(shù)據(jù)與視圖非常簡(jiǎn)單的保持同步。當(dāng)做數(shù)據(jù)修改時(shí),只需要在邏輯層改數(shù)據(jù),視圖層就會(huì)做響應(yīng)的更新。開發(fā)者只需要將頁(yè)面路由、方法、生命周期函數(shù)注冊(cè)進(jìn)框架,其他的一切復(fù)雜的操作都將由框架處理。
小程序優(yōu)點(diǎn):
• 方便使用:無(wú)需下載,打開即用,用完即走。不占用手機(jī)內(nèi)存,省流量,省安裝時(shí)間
• 開發(fā)簡(jiǎn)單:開發(fā)的本質(zhì)是MVVM風(fēng)格的Javascript框架上開發(fā)的,有前端經(jīng)驗(yàn)的程序員可以無(wú)縫銜接,無(wú)經(jīng)驗(yàn)的“小白”也可以快速入門。
• 跨平臺(tái)運(yùn)行:不用再分別開發(fā)IOS和Andriod版本,只需要發(fā)布微信小程序平臺(tái),所有平臺(tái)都可以使用。開發(fā)成本低
• 快速分發(fā)與迭代:無(wú)需關(guān)心各種發(fā)布渠道,也無(wú)須擔(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框架
微信小程序的框架示意圖如下所示:

MINA框架主要分為兩大部分:
第一部分頁(yè)面視圖層,開發(fā)者使用WXML文件來搭建頁(yè)面的基本視圖結(jié)構(gòu)(WXML是類似于HTML標(biāo)簽的語(yǔ)言和一系列基礎(chǔ)組件),使用WXSS文件來控制頁(yè)面的表現(xiàn)樣式。
第二部分AppService應(yīng)用邏輯層,是MINA框架的服務(wù)中心,通過微信客戶端啟動(dòng)異步線程單獨(dú)加載運(yùn)行,頁(yè)面渲染所需的數(shù)據(jù)、頁(yè)面交互處理邏輯都在其中實(shí)現(xiàn)。MINA框架中的AppService使用JavaScript來編寫交互邏輯、網(wǎng)絡(luò)請(qǐng)求、數(shù)據(jù)處理,但不能使用JavaScript中的DOM操作。小程序中的各個(gè)頁(yè)面可以通過AppService實(shí)現(xiàn)數(shù)據(jù)管理、網(wǎng)絡(luò)通信、生命周期管理和頁(yè)面路由。
MINA框架為頁(yè)面組件提供了一系列事件監(jiān)聽相關(guān)的屬性(比如bindtap、bindtouchstart等),來與AppService中的事件處理函數(shù)綁定在一起,來實(shí)現(xiàn)頁(yè)面向AppService層同步用戶交互數(shù)據(jù)。MINA框架同時(shí)提供了很多方法將AppService中的數(shù)據(jù)與頁(yè)面進(jìn)行單向綁定(注意數(shù)據(jù)的綁定方向是單向的),當(dāng)AppService中的數(shù)據(jù)變更時(shí),會(huì)主動(dòng)觸發(fā)對(duì)應(yīng)頁(yè)面組件的重新渲染。
新聞熱點(diǎn)
疑難解答
圖片精選