大體相同,但小(xiao)程(cheng)序直接this.data的(de)屬性是不(bu)可以(yi)同步(bu)到視圖(tu)的(de),必須調用this.setData()方法(fa)!
小程序除(chu)了擁有公眾(zhong)號的(de)低(di)(di)開發(fa)成(cheng)本(ben)、獲(huo)客成(cheng)本(ben)低(di)(di)以及無需下載等優(you)勢,在服務請求延時與(yu)用(yong)戶使(shi)(shi)用(yong)體驗(yan)是都得到(dao)了較大幅度的(de)提升,使(shi)(shi)得其能(neng)夠承載跟復雜的(de)服務功能(neng)以及使(shi)(shi)用(yong)戶獲(huo)得更好的(de)用(yong)戶體驗(yan)。
微信小程序采用JavaScript、WXML、WXSS三種技術進行開發,從技術講和現有的前端開發差不多,但深入挖掘的話卻又有所不同。
JavaScript:首先JavaScript的代碼是運行在微信App中的,并不是運行在瀏覽器中,因此一些H5技術的應用,需要微信App提供對應的API支持,而這限制住了H5技術的應用,且其不能稱為嚴格的H5,可以稱其為偽H5,同理,微信提供的獨有的某些API,H5也不支持或支持的不是特別好。
WXML:WXML微信自己基于XML語法開發的,因此開發時,只能使用微信提供的現有標簽,HTML的標簽是無法使用的。
WXSS:WXSS具有CSS的大部分特性,但并不是所有的都支持,而且支持哪些,不支持哪些并沒有詳細的文檔。
微信的架構,是數據驅動的架構模式,它的UI和數據是分離的,所有的頁面更新,都需要通過對數據的更改來實現。
小(xiao)程序分為兩(liang)個部(bu)分webview和appService。其(qi)中webview主要用來展(zhan)現UI,appService有(you)來處(chu)(chu)理(li)(li)業務邏輯、數據及接(jie)口調(diao)用。它們在兩(liang)個進程中運(yun)行,通過系統層(ceng)JSBridge實現通信,實現UI的渲染、事件的處(chu)(chu)理(li)(li)
小程序直接this.data的屬性是(shi)不可(ke)以同步到(dao)視圖的,必須調用:this.setData({})