wxa.js漸進式小程序開發(fā)框架
wxa.js 是一個輕量級的漸進式小程序開發(fā)框架,專注于小程序原生開發(fā),提供更好的工程化、代碼復用能力,提高開發(fā)效率并改善開發(fā)體驗。極速上手,零配置,可無痛遷移。
wxa 框架優(yōu)勢
-
真正零成本接入
原生小程序無需修改,即可使用 wxa 構(gòu)建。當然,如果您愿意使用 wxa 提供的語法,則立馬能享受到原生小程序中享受不到的順滑體驗,譬如狀態(tài)管理、表單校驗等。超低遷移成本,原生小程序只需安裝好依賴就可以馬上在 @wxa/cli2 中跑起來。支持原生和 wxa 混雜開發(fā)。
-
強大的依賴分析算法
自研的依賴分析算法,支持分包、最大限度減少代碼包體積。這不但能加快小程序速度,而且開發(fā)者再無需人工刪減項目中多余的代碼及圖片等文件。
-
優(yōu)秀的組件化及工程化能力
任意第三方組件庫,隨時安裝即可使用,完美適配 weui,vant-weapp, wux-weapp, iview-weapp 等組件庫。NPM 依賴,打包、編譯、壓縮資源文件全解析,讓你高效優(yōu)雅地開發(fā)小程序。
-
滿足多端兼容需求
允許一次性編譯出多個三方項目或其他平臺的小程序,如頭條、QQ 小程序。10 月版本更新將適配支付寶、百度小程序。
wxa 技術(shù)特性
wxa 基于 AOP 的思想,使用裝飾器(運行時改寫,攔截)和預編譯等手段在不侵入小程序基礎(chǔ)接口的前提下提供開發(fā)增強能力,按需引入,即插即用。專注于小程序原生開發(fā),既保留小程序簡單入門、快速開發(fā)的特點,同時提供一系列能力,解決工程化、代碼復用的痛點,提高開發(fā)效率并改善開發(fā)體驗。
-
Fetch 隊列管理網(wǎng)絡(luò)請求,單個請求自動防重;
-
Router 簡潔的 API、預加載特性;
-
Lock 防止重復執(zhí)行函數(shù),前端防重利器;
-
Debounnce 防抖動;
-
Mixin 混合代碼,代碼復用;
-
watch、computed 數(shù)據(jù)監(jiān)聽與計算屬性。
預編譯過程中,實現(xiàn)了對小程序項目的依賴解析樹的構(gòu)建,利用依賴樹對整個工程進行管理,以此為基礎(chǔ)適配了 NPM、單文件開發(fā)、云開發(fā)、三方開發(fā)、多構(gòu)建等。開發(fā)語法方面支持最新的 ES* 語法(包括 Async/Await)、Sass/Scss、Stylus,可根據(jù)開發(fā)習慣注入更多的語法支持。
學習及接入成本
標準項目無需任何配置即可運行,沒有額外的學習門檻,能夠完美的貼合使用原生小程序語法開發(fā)。良好的原生兼容,使原有的小程序項目在不改動代碼的情況下,能快速遷移接入到 wxa ,只需要稍加配置,舊的小程序項目就可以順滑享受 wxa 提供的便利。
