小程序本質(zhì)就是一個(gè)單頁面應(yīng)用,所有的頁面渲染和事件處理袋坑,都在一個(gè)頁面內(nèi)進(jìn)行,但又可以通過微信客戶端調(diào)用原生的各種接口眯勾;
它的架構(gòu)枣宫,是數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)模式婆誓,它的UI和數(shù)據(jù)是分離的,所有的頁面更新也颤,都需要通過對(duì)數(shù)據(jù)的更改來實(shí)現(xiàn)洋幻;
它從技術(shù)講和現(xiàn)有的前端開發(fā)差不多,采用JavaScript歇拆、WXML鞋屈、WXSS三種技術(shù)進(jìn)行開發(fā);
功能可分為webview和APPService兩個(gè)部分故觅,webview主要用來展示UI厂庇,appservice用來處理業(yè)務(wù)邏輯,數(shù)據(jù)及接口調(diào)用输吏,它們?cè)趦蓚€(gè)進(jìn)程中進(jìn)行权旷,通過系統(tǒng)層JSBridge實(shí)現(xiàn)通信,實(shí)現(xiàn)UI的渲染贯溅,事件處理拄氯;
webview用來展現(xiàn)UI,appService有來處理業(yè)務(wù)邏輯它浅、數(shù)據(jù)及接口調(diào)用译柏;
兩個(gè)部分在兩個(gè)進(jìn)程中運(yùn)行,通過系統(tǒng)層JSBridge實(shí)現(xiàn)通信姐霍,實(shí)現(xiàn)UI的渲染鄙麦、事件的處理等。
javaScript的代碼是運(yùn)行在微信App中的镊折,因此一些h5技術(shù)的應(yīng)用需要微信APP提供對(duì)應(yīng)的API支持
wxml 微信自己基于xml語法開發(fā)的胯府,因此在開發(fā)時(shí)只能使用微信提供的現(xiàn)有標(biāo)簽,html的標(biāo)簽是無法使用的
wxss具有css的大部分特性恨胚,但并不是所有都支持骂因,沒有詳細(xì)文檔(wxss的圖片引入需要使用外鏈地址,沒有body赃泡,樣式可以使用import導(dǎo)入)