微信小程序框架解析

What?

  • 基于微信
  • 類web
  • 原生體驗(yàn)
  • 解決方案

How?

交互原理

邏輯層(App Service)

  • 邏輯層由JavaScript編寫(xiě)
  • 邏輯層將數(shù)據(jù)進(jìn)行處理后發(fā)送給視圖層那婉,同時(shí)接受視圖層的事件反饋
  • 所有代碼將會(huì)打包成一份JavaScript推捐,啟動(dòng)時(shí)運(yùn)行,直到小程序銷毀

視圖層(View)

  • 由WXML與WXSS編寫(xiě)滑沧,由組件進(jìn)行展示
  • 將邏輯層的數(shù)據(jù)反應(yīng)成視圖杠园,同時(shí)將視圖層的事件發(fā)送給邏輯層枪芒。

App Service -Manager

  • App() -小程序入口
  • Page() -頁(yè)面入口
  • 數(shù)據(jù)綁定边坤、事件分發(fā)、生命周期讼稚、路由管理
wxml
js

生命周期

Paste_Image.png

View - WXML

  • weixin markup Language
  • 支持邏輯括儒、算數(shù)計(jì)算
  • 支持模板、引用

WXML ---compiler--->JS:generateFunc ---Data--->VirtualTree ----Virtual DOM--->Dom Tree


WXML 具有什么能力锐想?

  • 數(shù)據(jù)綁定
<!-- wxml -->
<view> {{ message }}</view>
  • 列表渲染
<!--wxml-->
<view wx:for="{{array}}"> {{item}} </view>
  • 條件渲染
<!--wxml-->
<view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view>
<view wx:elif="{{view == 'APP'}}"> APP </view>
<view wx:else="{{view == 'MINA'}}"> MINA </view>
  • 模板
<!--wxml-->
<template name="staffName"> <view> FirstName: {{firstName}}, LastName: {{lastName}} </view></template>
<template is="staffName" data="{{...staffA}}"></template>
<template is="staffName" data="{{...staffB}}"></template>
<template is="staffName" data="{{...staffC}}"></template>
  • 事件
<view bindtap="add"> {{count}} </view>

page.js


Page({
 data: { 
  message: 'Hello MINA!',
  array: [1, 2, 3, 4, 5],
  view: 'MINA',
  staffA: {firstName: 'Hulk', lastName: 'Hu'}, 
  staffB: {firstName: 'Shang', lastName: 'You'},
  staffC: {firstName: 'Gideon', lastName: 'Lin'}
  count: 1
 },
 add: function(e) {
   this.setData({ count: this.data.count + 1 }) 
 }
})

View - WXSS

  • WXSS -weixin style sheet
  • 自適應(yīng)單位 RPX-Responsive Pixel
  • 無(wú)級(jí)聯(lián)-避免被組件內(nèi)結(jié)構(gòu)破壞

WXSS -------compiler-----> JS -----width,DPR------> CSS

View -Render

  • 數(shù)據(jù)(Modal)與視圖(View)完全分離
  • 邏輯層運(yùn)行在獨(dú)立環(huán)境中帮寻,無(wú)法直接操作DOM
  • 使用WXML模板語(yǔ)言減少維護(hù)成本
  • 單項(xiàng)數(shù)據(jù)綁定
  • 重渲染使用Virtual-DOM減少開(kāi)銷
與Natice通信圖示
打包
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市痛倚,隨后出現(xiàn)的幾起案子规婆,更是在濱河造成了極大的恐慌,老刑警劉巖蝉稳,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異掘鄙,居然都是意外死亡耘戚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門操漠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)收津,“玉大人,你說(shuō)我怎么就攤上這事浊伙∽睬铮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵嚣鄙,是天一觀的道長(zhǎng)吻贿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)哑子,這世上最難降的妖魔是什么舅列? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮卧蜓,結(jié)果婚禮上帐要,老公的妹妹穿的比我還像新娘。我一直安慰自己弥奸,他們只是感情好榨惠,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般赠橙。 火紅的嫁衣襯著肌膚如雪伸蚯。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天简烤,我揣著相機(jī)與錄音剂邮,去河邊找鬼。 笑死横侦,一個(gè)胖子當(dāng)著我的面吹牛挥萌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枉侧,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼引瀑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了榨馁?” 一聲冷哼從身側(cè)響起憨栽,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翼虫,沒(méi)想到半個(gè)月后屑柔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡珍剑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年掸宛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片招拙。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡唧瘾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出别凤,到底是詐尸還是另有隱情饰序,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布规哪,位于F島的核電站求豫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏由缆。R本人自食惡果不足惜注祖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望均唉。 院中可真熱鬧是晨,春花似錦、人聲如沸舔箭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至箫章,卻和暖如春烙荷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背檬寂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工终抽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人桶至。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓昼伴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親镣屹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子圃郊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • WXML WXML(WeiXin Markup Language)是微信的一套標(biāo)簽語(yǔ)言,結(jié)合基礎(chǔ)組件女蜈、事件系統(tǒng)持舆,可...
    許劍鋒閱讀 6,774評(píng)論 3 51
  • 微信小程序在無(wú)論在功能、文檔及相關(guān)支持方面伪窖,都是優(yōu)于前面幾種微信賬號(hào)類型逸寓,它提供了很多原生程序才有的接口,使得我們...
    未央大佬閱讀 2,290評(píng)論 0 12
  • 昨天看了一下微信小程序官方文檔,總結(jié)一下自己學(xué)習(xí)的個(gè)人心得. 首先從官方文檔給的框架說(shuō)起,微信小程序官方文檔給出了...
    Mr大大大閱讀 47,139評(píng)論 9 68
  • 成為配得上希望的那個(gè)人 當(dāng)你嘗試著進(jìn)步的時(shí)候惰许,你遇到的更可能是打擊而不是鼓勵(lì)··· “相信我 你并不孤單” 證明自...
    亮亮_412閱讀 156評(píng)論 0 0
  • 今晚的夜 美得窒息 漫天繁星 明月閃耀 它偷偷的進(jìn)入 人們的 夢(mèng)鄉(xiāng) 帶著人們 去尋找 神秘的國(guó)度
    DJ姑娘閱讀 103評(píng)論 0 0