騰訊開源微信小程序解決方案 Westore,并表示該方案能夠以 1KB JavaScript 覆蓋狀態(tài)管理、跨頁(yè)通訊、插件開發(fā)和云數(shù)據(jù)庫(kù)開發(fā)。
據(jù)介紹,Westore 的開發(fā)背景是因?yàn)樾〕绦蛲ㄟ^(guò)頁(yè)面或組件各自的 setData 再加上各種父子、祖孫、姐弟、姑姑與堂兄等等組件間的通訊會(huì)把程序搞成一團(tuán)漿糊,如果再加上跨頁(yè)面之間的組件通訊,會(huì)讓程序非常難維護(hù)和調(diào)試。雖然市面上出現(xiàn)了許多技術(shù)棧編譯轉(zhuǎn)小程序的技術(shù),但是沒(méi)有戳中小程序的痛點(diǎn)。
小程序不管從組件化、開發(fā)、調(diào)試、發(fā)布、灰度、回滾、上報(bào)、統(tǒng)計(jì)、監(jiān)控和最近的云能力都非常完善,小程序的工程化簡(jiǎn)直就是前端的典范。而開發(fā)者工具也在持續(xù)更新,可以想象未來(lái)組件布局的話未必需要寫代碼了。而且據(jù)統(tǒng)計(jì),開發(fā)小程序使用最多的技術(shù)棧是小程序本身的開發(fā)工具和語(yǔ)法,所以最大的痛點(diǎn)只剩下狀態(tài)管理和跨頁(yè)通訊。
于是 Westore 給出了自己的解決方案:
Westore 受 Omi 框架的啟發(fā),其特點(diǎn)與優(yōu)勢(shì)如下:
和 Omi 同樣簡(jiǎn)潔的 Store API
超小的代碼尺寸(包括 json diff 共 100 多行)
尊重且順從小程序的設(shè)計(jì)(其他轉(zhuǎn)譯庫(kù)相當(dāng)于反其道行)
增強(qiáng) data 數(shù)據(jù)綁定,函數(shù)屬性可直接綁定到 WXML
this.update 兼容 setData 同樣的語(yǔ)法
this.update 比原生 setData 的性能更優(yōu),更加智能
Westore 專為小程序插件開發(fā)定制了模板
Westore 集成了騰訊云開發(fā)