一、使用uniapp開發多端項目的前提條件
現階段web前端的開發並沒有一統天下的趨勢,而是多年來一直都存在五花八門的各式各樣的開發框架和技術,使得我們前端人員在開發時需要掌握的框架太多也太雜,再就是互聯網時代,前端的終端也越來越多,比如android、ios以及各種小程序和H5這些終端平台太多了。
導致我們前端人員開發時很是苦惱,想要運行部署在不同的各種多端平台時需要開發多套相適應的代碼,實在是苦不堪言,因此,業內就有專業的人士推出這種一個框架解決多端平台的這種思路出現,就是我們這款uni-app框架。
如果我們用這款框架開發的話,需要有一定的前提條件,首先這款框架是基於vuejs框架開發的,底層運用的大多是vue的語法,因此我們必須要對vue這個框架了若指掌,能夠熟悉的應用,這是其中的一個前提條件。
第二就是我們要對原生小程序開發有所了解,因為uni-app中的很多組件跟原生小程序中的組件是類似的,像是小程序的開發工具、小程序的上線流程、部署流程、原生小程序的布局和語法之類的這些我們也要做到一定的熟悉,掌握兩個前提基礎后再學習用uni-app開發就簡單得多了。
二、剖析uni-app多端開發的底層原理
大家一定很好奇uni-app竟然能夠實現一套代碼同時運行在多個平台,使得多端開發變得如此的容易,小伙伴們一定很想了解其底層的內部原理吧。
其實uni-app底層大概整合了三個技術,分別是mpvue框架、vue語法以及原生小程序的語法,所以它的底層原理也是基於以上三個框架來實現的。
vue文件與小程序目錄結構文件不同,因此uni-app將原先的vue文件拆分成了四個用於小程序開發的文件,在數據綁定上面兼容了vue的優勢,因為原聲小程序的語法是不支持雙向數據綁定的,因此,uni-app借助於vue通過一個runtime方法實現了雙向數據綁定的應用。
在數據渲染和處理方面也進行了相應的優化,原生的小程序在更新數據的時候更新頻次太頻繁,方法調用次數太多,因此對性能損失比較高,因此uni-app底層也運用了vue的機制,一次調用就可以實現頁面的更新。
原生小程序也沒有組件化的思想,uni-app則是吸收了mpvue里面的核心,將組件化的思想搬到了小程序上面,更新內容時只更新單個組件即可,因此效率更高。