重磅!微信官方推出 Web 前端和小程序統一框架

最近微信官方重磅推出了一個統一 Web 前端和小程序的框架 —— Kbonehtml

微信小程序的底層模型和 Web 端不一樣,開發者沒法直接把 Web 端的代碼挪到小程序環境內執行。前端

Kbone 的誕生就是爲了解決這個問題,它實現了一個適配器,在適配層裏模擬出了瀏覽器環境,讓 Web 端的代碼能夠不作什麼改動,即可運行在小程序裏。react

Kbone 有哪些優點? 小程序

由於 kbone 是經過提供適配器的方式來實現同構,因此它的優點很明顯:微信小程序

  • 大部分流行的前端框架都可以在 kbone 上運行,好比 Vue、React、Preact 等。瀏覽器

  • 支持更爲完整的前端框架特性,由於 kbone 不會對框架底層進行刪改(好比 Vue 中的 v-html 指令、Vue-router 插件)。前端框架

  • 提供了經常使用的 dom/bom 接口,讓用戶代碼無需作太大改動即可從 Web 端遷移到小程序端。微信

  • 在小程序端運行時,仍然可使用小程序自己的特性(好比像 live-player 內置組件、分包功能)。框架

  • 提供了一些 Dom 擴展接口,讓一些沒法完美兼容到小程序端的接口也有替代使用方案(好比 getComputedStyle 接口)。

如何選擇? dom

業內其實已經出現了不少關於同構的解決方案了,每一個方案都有本身的優劣,不存在可以完美解決全部問題的方案。kbone 也同樣,它的優點在上面提到過,而它的不足也是它的實現原理帶來的。kbone 是使用必定的性能損耗,來換取更爲全面的 Web 端特性支持。

因此關於性能方面,若是你對小程序的性能特別苛刻,建議直接使用原生小程序開發;若是你的頁面節點數量特別多(一般在 1000 節點以上),同時還要保證在節點數無限上漲時仍然有穩定的渲染性能的話,能夠嘗試一下業內採用靜態模板轉譯的方案;其餘狀況就能夠直接採用 kbone 了。

Kbone 的使用方法,參見官方文檔連接:

https://developers.weixin.qq....

往期

十幾家大廠前端實習面經總結

你可能不知道的JS開發技巧

相關文章
相關標籤/搜索