小程序上線以來,一向被稱為“便攜版”的APP,關于兩者之間的區別,無外乎小程序相對輕便、開發成本低,下面讓我們來看一下小程序的“廬山真面目”!
一、app的分類
大致可以分為這3種:
app(原生app)、web app、 app(混合app),關系如下圖:
二、什么是小程序
小程序是介于web網頁應用和原生應用的一種產物;
小程序的特點:
三、小程序架構
視圖層和邏輯層分離,通過數據驅動,事件交互,不直接操作DOM
視圖層負責渲染頁面結構,邏輯層負責邏輯處理、數據請求、接口調用等
視圖層與邏輯層通過數據和事件進行通信,邏輯層提供數據給視圖層,視圖層通過綁定/捕獲事件發起交互讓邏輯層處理
視圖使用渲染,JS由(IOS)/X5()/nmjs()渲染解析
下架起上層開發與(系統層)的橋梁,使得小程序可通過API使用原生的功能,且部分組件為原生組件實現,從而有良好體驗。實現了對底層API接口的調用微信小程序系統原理圖,所以在小程序里面開發,開發者不用太多去考慮OS的實現差異的問題,安心在上層的視圖層和邏輯層進行開發即可。
數據通信機制:
分為數據單項綁定、事件綁定。
四、小程序項目結構
約定優于配置( over ),也稱作按約定編程,是一種軟件設計范式,旨在減少軟件開發人員需做決定的數量,獲得簡單的好處微信小程序系統原理圖,而又不失靈活性。
五、小程序生命周期
小程序的生命周期分為應用生命周期和頁面生命周期
應用生命周期:
屬性 類型 描述 觸發時機
生命周期函數–監聽小程序初始化 當小程序初始化完成時,會觸發 (全局只觸發一次)
生命周期函數–監聽小程序顯示 當小程序啟動,或從后臺進入前臺顯示,會觸發
生命周期函數–監聽小程序隱藏 當小程序從前臺進入后臺,會觸發
頁面生命周期:
Page()函數用來注冊一個頁面。接受一個 參數,其指定頁面的初始數據、生命周期函數、事件處理函數等。