周末萬里虎抽空體驗了下微信小程序的DEMO,對小程序的開發有了一個基礎的了解與認識,今天就來和大家分享一下我對小程序的看法。
從官方DEMO來看,小程序在技術架構上非常清晰易懂。JS負責業務邏輯的實現,而表現層則WXML和WXSS來共同實現,前者其實就是一種微信定義的模板語言,而后者類似CSS。所以對於擅長前端開發,或者WEB開發的廣大開發者而已,小程序的開發可謂降低了不少門檻。
從上面的微信小程序架構圖上可以清晰的看出,小程序借助的是JSBridge實現了對底層API接口的調用,所以在小程序里面開發,開發者不用太多去考慮IOS,安卓的實現差異的問題,安心在上層的視圖層和邏輯層進行開發即可。
當我們在啟動小程序的時候,你會發現首次啟動的時候,會有點延遲的想象,這里其實是小程序正在從CDN和WEB服務器上下載資源導致的延遲。我個人感覺這個是目前小程序體驗上的一點小缺憾,有延遲加載的感覺。
關於小程序的生命周期,可以分為兩個部分來理解:應用生命周期(左側藍色部分)和頁面生命周期(右側綠色部分)。其中應用的生命周期是這樣一個流程:1、用戶首次打開小程序,觸發 onLaunch(全局只觸發一次)。2、小程序初始化完成后,觸發onShow方法,監聽小程序顯示。3、小程序從前台進入后台,觸發 onHide方法。4、小程序從后台進入前台顯示,觸發 onShow方法。5、小程序后台運行一定時間,或系統資源占用過高,會被銷毀。 頁面生命周期是這樣的一個流程:1、小程序注冊完成后,加載頁面,觸發onLoad方法。2、頁面載入后觸發onShow方法,顯示頁面。3、首次顯示頁面,會觸發onReady方法,渲染頁面元素和樣式,一個頁面只會調用一次。4、當小程序后台運行或跳轉到其他頁面時,觸發onHide方法。5、當小程序有后台進入到前台運行或重新進入頁面時,觸發onShow方法。6、當使用重定向方法wx.redirectTo(OBJECT)或關閉當前頁返回上一頁wx.navigateBack(),觸發onUnload。同時,應用生命周期會影響到頁面生命周期。
綜上來看,小程序的技術架構上的清晰明了,相比沉重的原生APP開發而已要好理解的多。而近期小程序官方逐步的釋放小程序的一些入口,由此可見小程序也將慢慢的得到微信官方更大的流量支持。萬里虎個人還是非常看好小程序的未來,簡單、高效、方便、快捷的用戶體驗,這些都符合一個好程序的特質。小程序也許會在不久的將來成為下一個金礦,吸引更多開發者涌入。
以下來自網友:
-
框架程序包含一個描述整體程序的 app 和多個描述各自頁面的 page。一個框架程序主體部分由三個文件組成,必須放在項目的根目錄。
文件 | 作用 |
---|---|
app.js | 小程序(全局)邏輯 |
app.json | 小程序(全局)公共設置,決定頁面文件的路徑、窗口表現、設置網絡超時時間、設置多 tab 等 |
app.wxss | 小程序公共(全局)樣式表 |
-
一個框架頁面由四個文件組成:
文件類型 | 作用 |
---|---|
js | 頁面邏輯 |
wxml | 頁面結構,框架設計的一套標簽語言,結合基礎組件、事件系統,可以構建出頁面的結構。 |
wxss | 是一套樣式語言,用於描述 WXML 的組件樣式。用來決定 WXML 的組件應該怎么顯示。 |
json | 頁面配置 |
按照『約定優於配置』的原則,一個框架頁面至少包含js、wxml、wxss三個文件類型,文件名要一樣,例如首頁index.js、index.wxml、index.wxss,並且要放在同一文件夾下。頁面注冊時,文件名不需要寫文件后綴,因為框架會自動去尋找路徑.json,.js,.wxml,.wxss的四個文件進行整合。