如何讓開發(fā)者更便捷高效地開發(fā)面板小程序?
全球化 IoT 開發(fā)平臺服務商涂鴉智能(NYSE:TUYA,HKEX:2391)原先提供的是一套基于 React Native(簡稱 RN)的面板 SDK,但是隨著面板規(guī)模的不斷增長,以及 RN 的使用限制等原因,面板的開發(fā)和維護變得愈發(fā)困難。
于是我們自研了面板小程序開發(fā)方案,旨在讓面板的開發(fā)更加便捷,運行更加穩(wěn)定高效。
那什么是面板小程序呢?
01
面板小程序是一套全新的設備面板開發(fā)方式,它基于涂鴉的智能小程序技術(shù)體系,集成了面板的相關能力和環(huán)境。
它通過以下兩種方式來加強提升面板開發(fā)效率和體驗:
1. 通過IDE集成了面板特有的開發(fā)調(diào)試環(huán)境
2. 提供了 Ray 這個開發(fā)框架
接下來,我們詳細介紹下這兩大特性。
一、IDE面板環(huán)境
1、面板體驗
面板體驗功能支持一鍵創(chuàng)建本地虛擬面板小程序,包含一些基礎調(diào)試功能,其接口調(diào)用是通過本地模擬實現(xiàn)??捎糜诳焖倭私夂腕w驗面板的開發(fā)流程。
2、設備插件
為了能夠在 IDE 中運行面板小程序,涂鴉引入了虛擬設備體系來模擬面板運行環(huán)境,同時能夠更方便地調(diào)試 DP 下發(fā)上報。在開發(fā)時,只需要在項目配置中添加需要調(diào)試的產(chǎn)品,就可以通過掃碼將該產(chǎn)品下的虛擬設備綁定到 IDE 中。
簡單操作后,開發(fā)者即可在 IDE 中實現(xiàn)代碼調(diào)試,以盡量減少開發(fā)期間對真機的依賴。
除了可以輕松實現(xiàn)設備 DP 調(diào)試外,該插件還提供了:
多語言字段查看、檢查、搜索、上傳;
設備日志查詢;
智能設備模型的數(shù)據(jù)注入
二、Ray-IoT領域的跨端框架
小程序的基礎語法是類似前端的 HTML、CSS、JavaScript,同當前其他廠商的小程序語法基本保持一致,可有效確保跨端的開發(fā)體驗。
為了讓涂鴉現(xiàn)有的開發(fā)者,能更好地遷移到面板小程序,涂鴉研發(fā)了 Ray,并將其作為研發(fā)面板小程序的默認框架。不僅能大大降低小程序面板開發(fā)門檻,還能讓開發(fā)者復用 React 的編程習慣和生態(tài)。
02
其工作原理,簡單來說,就是將 React 的代碼通過編譯和運行,轉(zhuǎn)化成小程序語法,使其最終能在小程序容器內(nèi)運行起來。
1、React
Ray 的本質(zhì)是靠 react-reconciler 實現(xiàn)的一個小程序端的渲染器。因此,你可以靠完整的 React 語法,以及大部分的 React 生態(tài)來編寫你的面板小程序代碼。
2、智能設備模型(SDM)
智能設備模型是一個服務于面板開發(fā)的開發(fā)庫,它統(tǒng)一封裝了對設備的控制接口,并且可利用 DP Schema 獲取 ts提示,讓調(diào)用更加便捷。
另外,雖然面板小程序提供了很豐富的 API,但是有些 API 比較原子化,有一定的使用門檻。我們將定時、場景等高級能力進一步封裝成能力(ablities)提供給開發(fā)者,降低開發(fā)成本。
SDM 的架構(gòu)如下圖所示:
3、跨微信小程序
開發(fā)者在開發(fā)面板小程序后,可以將面板小程序編譯打包為微信小程序代碼,當然也可以直接使用 Ray 跨端框架,全新開發(fā)一個專屬于你自己的微信小程序。
由于微信小程序和涂鴉 App 的運行容器有一定差異,因此我們提供了額外的面板--小程序微信 SDK(@ray-js/wechat) ,來解決在微信環(huán)境運行所需要的 API 接口、組件及頁面模塊。
-
開發(fā)
+關注
關注
0文章
364瀏覽量
40788 -
設備
+關注
關注
2文章
4453瀏覽量
70494
發(fā)布評論請先 登錄
相關推薦
評論