微信小程序分析
微信小程序是一種新興並且很火熱的事物,它類似於瀏覽器的擴展程序和移動端的App應用,又和瀏覽器的網頁很相像。之所以這樣說,是因為微信小程序它可以實現擴展和App的功能,但卻不需要下載和安裝,只需要利用微信搜索或掃描二維碼即可打開。既給用戶手機節省了內存,又讓用戶可以體驗App的功能,估計這也是微信小程序如此之火的原因。下邊我們就微信小程序的原理、優勢及劣勢進行詳細的分析。
原理:
微信小程序采用JavaScript、WXML、WXSS三種技術進行開發,從技術講和現有的前端開發差不多,但深入挖掘的話卻又有所不同。
JavaScript:首先JavaScript的代碼是運行在微信App中的,並不是運行在瀏覽器中,因此一些H5技術的應用,需要微信App提供對應的API支持,而這限制住了H5技術的應用,且其不能稱為嚴格的H5,可以稱其為偽H5,同理,微信提供的獨有的某些API,H5也不支持或支持的不是特別好。
WXML:WXML微信自己基於XML語法開發的,因此開發時,只能使用微信提供的現有標簽,HTML的標簽是無法使用的。
WXSS:WXSS具有CSS的大部分特性,但並不是所有的都支持,而且支持哪些,不支持哪些並沒有詳細的文檔。
微信的架構,是數據驅動的架構模式,它的UI和數據是分離的,所有的頁面更新,都需要通過對數據的更改來實現。具體架構如圖:
上圖把小程序分為兩個部分webview和appService。其中webview主要用來展現UI,appService有來處理業務邏輯、數據及接口調用。它們在兩個進程中運行,通過系統層JSBridge實現通信,實現UI的渲染、事件的處理。
優勢:
1、無需下載,通過搜索和掃一掃就可以打開。
2、良好的用戶體驗:打開速度快。
3、開發成本要比App要低。
4、安卓上可以添加到桌面,與原生App差不多。
5、為用戶提供良好的安全保障。小程序的發布,微信擁有一套嚴格的審查流程, 不能通過審查的小程序是無法發布到線上的。
劣勢:
1、限制較多。頁面大小不能超過1M。不能打開超過5個層級的頁面。
2、樣式單一。小程序的部分組件已經是成型的了,樣式不可以修改。例如:幻燈片、導航。
3、推廣面窄,不能分享朋友圈,只能通過分享給朋友,附近小程序推廣。其中附近小程序也受到微信的限制。
4、依托於微信,無法開發後臺管理功能。
微信小程序分析