0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跨端、小程序、ChatGPT? 看涂鸦如何玩转面板开发!

涂鸦开发者 2023-04-18 10:11 次阅读

如何让开发者更便捷高效地开发面板小程序?

全球化 IoT 开发平台服务商涂鸦智能(NYSE:TUYA,HKEX:2391)原先提供的是一套基于 React Native(简称 RN)的面板 SDK,但是随着面板规模的不断增长,以及 RN 的使用限制等原因,面板的开发和维护变得愈发困难。

于是我们自研了面板小程序开发方案,旨在让面板的开发更加便捷,运行更加稳定高效。

那什么是面板小程序呢?

01

面板小程序是一套全新的设备面板开发方式,它基于涂鸦的智能小程序技术体系,集成了面板的相关能力和环境。

它通过以下两种方式来加强提升面板开发效率和体验:

1. 通过IDE集成了面板特有的开发调试环境

2. 提供了 Ray 这个开发框架

接下来,我们详细介绍下这两大特性。

一、IDE面板环境

1、面板体验

面板体验功能支持一键创建本地虚拟面板小程序,包含一些基础调试功能,其接口调用是通过本地模拟实现。可用于快速了解和体验面板的开发流程。

9a39745c-da9b-11ed-ad0d-dac502259ad0.png

9a577704-da9b-11ed-ad0d-dac502259ad0.png

2、设备插件

为了能够在 IDE 中运行面板小程序,涂鸦引入了虚拟设备体系来模拟面板运行环境,同时能够更方便地调试 DP 下发上报。在开发时,只需要在项目配置中添加需要调试的产品,就可以通过扫码将该产品下的虚拟设备绑定到 IDE 中。

简单操作后,开发者即可在 IDE 中实现代码调试,以尽量减少开发期间对真机的依赖。

除了可以轻松实现设备 DP 调试外,该插件还提供了:

多语言字段查看、检查、搜索、上传;

设备日志查询;

智能设备模型的数据注入

9a76c7da-da9b-11ed-ad0d-dac502259ad0.png

二、Ray-IoT领域的跨端框架

小程序的基础语法是类似前端的 HTML、CSS、JavaScript,同当前其他厂商的小程序语法基本保持一致,可有效确保跨端的开发体验。

为了让涂鸦现有的开发者,能更好地迁移到面板小程序,涂鸦研发了 Ray,并将其作为研发面板小程序的默认框架。不仅能大大降低小程序面板开发门槛,还能让开发者复用 React 的编程习惯和生态。

9a15a8ec-da9b-11ed-ad0d-dac502259ad0.png

02

工作原理,简单来说,就是将 React 的代码通过编译和运行,转化成小程序语法,使其最终能在小程序容器内运行起来。

1、React

Ray 的本质是靠 react-reconciler 实现的一个小程序端的渲染器。因此,你可以靠完整的 React 语法,以及大部分的 React 生态来编写你的面板小程序代码

2、智能设备模型(SDM)

智能设备模型是一个服务于面板开发的开发库,它统一封装了对设备的控制接口,并且可利用 DP Schema 获取 ts提示,让调用更加便捷。

9abdfc4a-da9b-11ed-ad0d-dac502259ad0.png

另外,虽然面板小程序提供了很丰富的 API,但是有些 API 比较原子化,有一定的使用门槛。我们将定时、场景等高级能力进一步封装成能力(ablities)提供给开发者,降低开发成本。

SDM 的架构如下图所示:

9addfe64-da9b-11ed-ad0d-dac502259ad0.png

3、跨微信小程序

开发者在开发面板小程序后,可以将面板小程序编译打包为微信小程序代码,当然也可以直接使用 Ray 跨端框架,全新开发一个专属于你自己的微信小程序。

由于微信小程序和涂鸦 App 的运行容器有一定差异,因此我们提供了额外的面板--小程序微信 SDK(@ray-js/wechat) ,来解决在微信环境运行所需要的 API 接口、组件及页面模块。

9b0d1fe6-da9b-11ed-ad0d-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发
    +关注

    关注

    0

    文章

    371

    浏览量

    40951
  • 设备
    +关注

    关注

    2

    文章

    4561

    浏览量

    70940
收藏 人收藏

    评论

    相关推荐

    基于QT开发国产主板终端桌面程序 高效、稳定、平台的解决方案

    开发者们面临的一个重要挑战。本文将介绍如何基于QT框架,开发适用于国产主板的终端桌面程序,并探讨其优势和应用场景。 QT是一个平台的C++图形用户界面应用
    的头像 发表于 01-08 15:34 229次阅读

    [迅为RK3568开发板]非科班也能玩转Android应用,体验QT平台能力

    [迅为RK3568开发板]非科班也能玩转Android应用,体验QT平台能力
    的头像 发表于 12-18 16:41 467次阅读
    [迅为RK3568<b class='flag-5'>开发</b>板]非科班也能<b class='flag-5'>玩转</b>Android应用,体验QT<b class='flag-5'>跨</b>平台能力

    玩转RK3588开发板基于connector-split 功能实现多屏联动

    玩转RK3588开发板基于connector-split 功能实现多屏联动
    的头像 发表于 12-02 16:05 455次阅读
    <b class='flag-5'>玩转</b>RK3588<b class='flag-5'>开发</b>板基于connector-split 功能实现多屏联动

    ChatGPT 在游戏开发中的创新应用

    在游戏开发领域,人工智能技术的应用正变得越来越广泛。ChatGPT,作为一种先进的自然语言处理(NLP)模型,为游戏开发带来了许多创新的应用。 1. 动态对话系统 ChatGPT的强项
    的头像 发表于 10-25 18:05 745次阅读

    怎样搭建基于 ChatGPT 的聊天系统

    开发者将ChatGPT集成到他们的应用程序中。 2. 获取API访问权限 在开始之前,你需要从OpenAI获取API密钥。这通常涉
    的头像 发表于 10-25 16:23 614次阅读

    揭秘动态化框架在鸿蒙系统下的高性能解决方案

    作者:京东科技 胡大海 前言 动态化框架 (后文统称“ 动态化” ) 是一个由京东金融大前端团队全自主研发的,一份代码,可以在 HarmonyOS、 iOS、Android、Web四运行的
    的头像 发表于 10-08 13:46 1025次阅读
    揭秘动态化<b class='flag-5'>跨</b><b class='flag-5'>端</b>框架在鸿蒙系统下的高性能解决方案

    涂鸦的Link SDK如何连接到涂鸦IOT平台教程

    一 概述 Link SDK 涂鸦Link SDK,即tuya-connect-kit。使用 C 语言实现,适用于开发者自主开发硬件设备逻辑业务接入涂鸦 IoT。Tuya Connect
    的头像 发表于 09-25 16:41 844次阅读
    <b class='flag-5'>涂鸦</b>的Link SDK如何连接到<b class='flag-5'>涂鸦</b>IOT平台教程

    鸿蒙开发:应用组件设备交互(流转)【迁移】

    迁移的核心任务是将应用的当前状态(包括页面控件、状态变量等)无缝迁移到另一设备,从而在新设备上无缝接续应用体验。这意味着用户在一台设备上进行的操作可以在另一台设备的相同应用中快速切换并无缝衔接。
    的头像 发表于 06-11 17:10 1407次阅读
    鸿蒙<b class='flag-5'>开发</b>:应用组件<b class='flag-5'>跨</b>设备交互(流转)【<b class='flag-5'>跨</b><b class='flag-5'>端</b>迁移】

    鸿蒙ArkUI-X平台技术:【开发准备】

    本文档适用于ArkUI平台应用开发的初学者。通过开发环境搭建、应用工程创建、编译和运行,熟悉ArkUI平台应用开发基本流程。
    的头像 发表于 05-24 10:40 600次阅读
    鸿蒙ArkUI-X<b class='flag-5'>跨</b>平台技术:【<b class='flag-5'>开发</b>准备】

    涂鸦App开发工具App SDK

    我们之前为大家介绍过涂鸦AppSDK的特点和优势,在这一年多时间里,涂鸦成功帮助很多客户实现了有创意的差异化开发,并构筑更具核心竞争力的品牌专属App。什么是AppSDK?涂鸦AppS
    的头像 发表于 05-24 08:15 946次阅读
    <b class='flag-5'>涂鸦</b>App<b class='flag-5'>开发</b>工具App SDK

    鸿蒙ArkUI-X平台开发:【bility开发说明(iOS)】

    本文介绍将ArkUI框架扩展到iOS平台所需要的必要类及其使用说明,开发者基于OpenHarmony,可复用大部分的应用代码(生命周期等)并可以部署到iOS平台,降低平台应用开发成本。
    的头像 发表于 05-21 14:35 984次阅读
    鸿蒙ArkUI-X<b class='flag-5'>跨</b>平台<b class='flag-5'>开发</b>:【bility<b class='flag-5'>开发</b>说明(iOS<b class='flag-5'>端</b>)】

    嵌入式学习-飞凌嵌入式ElfBoard-项目分享|基于ELF 1S开发板完成的物联网开源项目

    方提供的移植文档。 在涂鸦云服务器上建立好产品,完成功能定义,完成设备交互面板设计,移植完Tuya Link SDK,等一系列操作后,就可以让ELF 1S开发板具备接入云服务器的能力。 产品建成后
    发表于 05-16 09:19

    飞凌嵌入式-ElfBoard-项目分享|基于ELF 1S开发板完成的物联网开源项目

    方提供的移植文档。 在涂鸦云服务器上建立好产品,完成功能定义,完成设备交互面板设计,移植完Tuya Link SDK,等一系列操作后,就可以让ELF 1S开发板具备接入云服务器的能力。 产品建成后
    发表于 05-16 09:12

    涂鸦推出完全开源的open sdk开发框架!大大降低IoT开发门槛

    开发者来说,IoT开发的难点是什么?首先,IoT涉及到多个领域和多种开发技术,每一层的技术接口、协议都需要平台、领域、
    的头像 发表于 04-12 08:14 1333次阅读
    <b class='flag-5'>涂鸦</b>推出完全开源的open sdk<b class='flag-5'>开发</b>框架!大大降低IoT<b class='flag-5'>开发</b>门槛

    在FPGA设计中是否可以应用ChatGPT生成想要的程序

    当下AI人工智能崛起,很多开发领域都可看到ChatGPT的身影,FPGA设计中,是否也可以用ChatGPT辅助设计呢?
    发表于 03-28 23:41