最近微信官方重磅推出了一個統一 Web 前端和小程序的框架 —— Kbone。 html
微信小程序的底層模型和 Web 端不一樣,開發者沒法直接把 Web 端的代碼挪到小程序環境內執行。前端
Kbone 的誕生就是爲了解決這個問題,它實現了一個適配器,在適配層裏模擬出了瀏覽器環境,讓 Web 端的代碼能夠不作什麼改動,即可運行在小程序裏。react
Kbone 有哪些優點? 小程序
由於 kbone 是經過提供適配器的方式來實現同構,因此它的優點很明顯:微信小程序
大部分流行的前端框架都可以在 kbone 上運行,好比 Vue、React、Preact 等。瀏覽器
支持更爲完整的前端框架特性,由於 kbone 不會對框架底層進行刪改(好比 Vue 中的 v-html 指令、Vue-router 插件)。前端框架
提供了經常使用的 dom/bom 接口,讓用戶代碼無需作太大改動即可從 Web 端遷移到小程序端。微信
在小程序端運行時,仍然可使用小程序自己的特性(好比像 live-player 內置組件、分包功能)。框架
如何選擇? dom
業內其實已經出現了不少關於同構的解決方案了,每一個方案都有本身的優劣,不存在可以完美解決全部問題的方案。kbone 也同樣,它的優點在上面提到過,而它的不足也是它的實現原理帶來的。kbone 是使用必定的性能損耗,來換取更爲全面的 Web 端特性支持。
因此關於性能方面,若是你對小程序的性能特別苛刻,建議直接使用原生小程序開發;若是你的頁面節點數量特別多(一般在 1000 節點以上),同時還要保證在節點數無限上漲時仍然有穩定的渲染性能的話,能夠嘗試一下業內採用靜態模板轉譯的方案;其餘狀況就能夠直接採用 kbone 了。
Kbone 的使用方法,參見官方文檔連接:
https://developers.weixin.qq....
往期