小程序開發(fā)公司工程師分享小程序開發(fā)基礎入門。深圳小程序開發(fā)公司本文將介紹微信小程序開發(fā)的基礎知識,幫助你快速入門。你可能會遇到很多小程序專有API和相關的屬性、配置的專有名詞,不過你不用擔心,記不住相關名詞也沒有關系,因為這些名詞很容易在網絡或文檔中查找,很多IDE(包括官方開發(fā)者工具)也會有智能提示,你完全可以在使用時再進行快速查找。小程序開發(fā)公司之所以編輯這類型的文章旨在希望我們的用戶對小程序開發(fā)有一個基本的了解,我們認為這是幫助我們客戶分清什么是小程序定制開發(fā)什么是小程序模板的不二法門。
小程序開發(fā)之小程序的生命周期
要了解如何開發(fā)一個小程序,首先需要了解小程序的生命周期,因為生命周期的概念將貫穿小程序開發(fā)的始終。
所謂生命周期,是指一個程序從啟動到關閉這一過程中產生的一系列事件的總和。

圖3-1展示了一個小程序完整的生命周期,可以看到,它實際上包括組件生命周期和頁面生命周期兩個部分。一個微信小程序啟動后首次加載頁面,會觸發(fā)頁面的onLoad事件(這個事件只有在頁面首次加載時才會觸發(fā))﹔當這個頁面顯示的時候會觸發(fā)onShow事件,如果這個頁面是首次渲染完成,則會接著觸發(fā)onReady事件。如果我們將小程序切換到后臺,頁面就會被隱藏同時觸發(fā)onHide事件;下次從后臺切換到前臺時,則會再次觸發(fā)onShow事件。最后,當頁面被回收銷毀時,會觸發(fā)onUnload事件。
了解生命周期的含義有助于理解小程序的運行過程。關于生命周期在小程序開發(fā)中的應用。
小程序開發(fā)之小程序的架構
小程序的頁面是如何進行渲染的呢?小程序在進行技術選型時主要考慮了以下3種頁面渲染方式。
⑴)如果我們使用純客戶端的原生技術來編碼渲染,就意味著小程序要與微信本身的代碼一起編譯打包和發(fā)布版本,那么小程序的開發(fā)節(jié)奏就無法做到像Web那樣快;
(2)如果我們使用純Web的技術來做頁面渲染,那么頁面的渲染和頁面邏輯執(zhí)行的腳本就會處于同一個線程,容易導致業(yè)務邏輯和UI渲染互相搶占資源,從而在一些較為復雜的頁面上出現一些性能問題;
⑶)如果采用介于客戶端原生技術與Web技術之間的渲染方式,小程序使用混
合模式開發(fā),就可以像Web一樣支持在線快速更新,又可以跨平臺,同時比Web更接近原生體驗,保持原生App良好的用戶交互體驗優(yōu)勢。
小程序最終選擇了第三種渲染方式,在技術上又稱為Hybrid方式。小程序的界面主要由成熟的Web技術渲染,再將客戶端原生能力封裝成接口供開發(fā)者調用,并通過雙線程模型分離界面渲染和邏輯處理,提高小程序的渲染性能和管控安全。
為了滿足上述設計理念,小程序開發(fā)團隊設計了一套雙線程模型,架構主要分為3層:邏輯層(JSCore)、渲染層(WebView)和系統層(Native),如圖3-2下面我們分別進行介紹。

邏輯層
邏輯層主要進行數據請求和業(yè)務邏輯處理,通過JS引擎提供的沙箱環(huán)境來執(zhí)
行JS。與瀏覽器Web開發(fā)相比,邏輯層開發(fā)無法直接操作DOM和BOM,無法使用一些瀏覽器暴露的接口(如跳轉頁面、動態(tài)執(zhí)行腳本),從而提高了管控力和安全性。
邏輯層主要負責將數據進行處理后再發(fā)送給渲染層,同時接收渲染層的事件反饋,對數據進行反向操作。對微信小程序來說,邏輯層就是所有js文件的集合。
渲染層
渲染層主要在WebView線程中執(zhí)行界面渲染相關的任務,對于微信小程序而言,渲染層就是所有WXML(WeiXin Mark Language)文件與WXsS (WeiXinStyle Sheet)文件的集合。通過Virtual DOM減少渲染開銷,提高局部更新數據和重渲染的效率,讓頁面更流暢。渲染層中描述語言使用的WXML、WXSS與Web開發(fā)中的HTML、CSS類似,可以顯著降低開發(fā)者的學習成本。
小程序開發(fā)經驗之系統層
系統層的主要作用有3個:
通過JSBridge構建JS和Native之間的通信,以便上層間接調用客戶端的原生底層接口;
提供網絡請求、數據緩存、本地文件、媒體等基礎能力;為邏輯層與渲染層的通信做中轉。
在雙線程模型下,把界面渲染和邏輯處理分離、并行處理,可以加快渲染速度,避免單線程模型下因為JS運算時間過長導致的UI卡頓問題。并且,采用數據驅動的方式,開發(fā)者將無法直接操作DOM,可以加強管控和安全。但是,雙線程模型也意味著邏輯層與渲染層之間的通信、各層與客戶端的原生交互會有一定的延時。關于小程序的更多設計原理,我們會在后面的文章中進一步介紹。好了,
深圳小程序開發(fā)公司本文關于“小程序開發(fā)公司工程師分享小程序開發(fā)基礎入門”就分享到這里。如果您需要聯系深圳小程序開發(fā)公司,為您量身定制小程序商城、小程序遠控應用等項目,請咨詢我們網站在線客服或者撥打網站小程序技術客服聯系電話,為您提供詳細小程序開發(fā)解決方案。謝謝關注,博納網絡編輯整理。