今天的文章是講微信小程(cheng)序開發(fa)的,按理解把架構與框(kuang)架說說。有不(bu)對之處請(qing)大(da)神(shen)指點……
微信小程(cheng)序(xu)(xu)與web應用(yong)很像(xiang),但是(shi)原理不(bu)同,微信小程(cheng)序(xu)(xu)是(shi)運(yun)行(xing)在(zai)微信應用(yong)內(nei)的(de)(de),不(bu)是(shi)運(yun)行(xing)在(zai)瀏覽器上,所(suo)以(yi)JS的(de)(de)一些DOM操(cao)作在(zai)這里不(bu)適用(yong)。小程(cheng)序(xu)(xu)有自己的(de)(de)一套標記語(yu)言(wxml),樣式語(yu)言(wxss),與web開發的(de)(de)html和css思想(xiang)是(shi)一致的(de)(de)。
首先,說(shuo)說(shuo)微信小程序(xu)架構。
架構分(fen)為視圖(tu)(tu)層(ceng),邏(luo)輯(ji)層(ceng),組件(jian),API幾(ji)個部分(fen)。視圖(tu)(tu)層(ceng)負責(ze)頁(ye)面結構、樣式和數(shu)據展示,用wxml、wxss語(yu)言編(bian)(bian)寫(xie)。邏(luo)輯(ji)層(ceng)負責(ze)業務邏(luo)輯(ji),調用API等(deng)(deng),由(you)js編(bian)(bian)寫(xie)。視圖(tu)(tu)層(ceng)和邏(luo)輯(ji)層(ceng)類(lei)似MVVM模式,邏(luo)輯(ji)層(ceng)只(zhi)需對數(shu)據對象更新(xin),就可以(yi)改變(bian)視圖(tu)(tu)層(ceng)的數(shu)據顯示,這個很像vue,不(bu)知道底層(ceng)是不(bu)是vue! 組件(jian)是視圖(tu)(tu)層(ceng)封裝好的基礎(chu)組件(jian),如按鈕(niu)、輸入框等(deng)(deng)!API提(ti)供(gong)了訪問手機設備、網絡(luo)、服務器、微信平臺接口(kou)等(deng)(deng)能力。如下圖(tu)(tu)

架構(gou)圖:(按自己(ji)理解畫(hua)的,僅(jin)供參(can)考(kao))
其次,在說說開(kai)發框架。
每個小程序在微信里是個應用(App),App中(zhong)又包含了多(duo)個頁面(Page)。App有屬(shu)(shu)于他(ta)的生(sheng)(sheng)命(ming)周(zhou)期和目錄(lu)結(jie)構,Page也有屬(shu)(shu)于他(ta)的生(sheng)(sheng)命(ming)周(zhou)期和目錄(lu)結(jie)構。如下圖:

框架圖(看(kan)開發文檔的總結)