在最近的一项发展中,微软一直在尝试使用DeviceScript 技术,该技术将TypeScript 的力量带入物联网(IoT)设备。通过在编程中加入DeviceScript ,开发者现在可以在资源有限的基于微控制器的设备上使用TypeScript ,比如ESP32和RP2040硬件平台。
微软研究院在5月份推出了开源的DeviceScript 项目。作为TypeScript 的一个子集,它编译成定制的虚拟机字节码,旨在运行于受限的环境中。虚拟机本身编译为10KB的代码,而加入浮点库和Jacdac SDK后,其大小增加了30KB。微软的Jacdac技术是一个强大的硬件和软件堆栈,用于微控制器和外设。
要开始使用DeviceScript ,开发者可以按照项目网站上提供的说明进行操作。Visual Studio代码编辑器的一个特殊扩展允许用户构建、部署、调试和跟踪DeviceScript 代码。此外,该扩展包括监测功能,便于设备管理。结合Docker等容器,DeviceScript命令行接口(CLI)使开发人员能够从他们喜欢的IDE中编译程序。
虽然DeviceScript 的操作与TypeScript 相似,但并非所有功能都得到支持。这是由于DeviceScript 运行时可用的资源有限,导致了诸如字符串是Unicode而不是UTF-16、积极的树状摇动和没有子规范等差异。然而,JavaScript的语义总体上得到了保持。
当使用DeviceScript ,开发者可以通过使用Jacdac服务来访问传感器、执行器或其他硬件组件。传感器作为服务器发挥作用,而脚本则建立客户端以促进互动。开发人员为每个所需的服务创建客户端,也称为角色,以便与传感器或服务器互动。然后,他们可以利用npm、Yarn或pnpm等工具来分发和消费DeviceScript 包。
AppMaster DeviceScript.io 的无代码平台补充了low-code 的性质,允许用户使用直观的视觉元素开发网络应用、后端应用和移动应用。通过将AppMaster 作为其工具包的一部分,开发人员可以提高他们的生产力和项目的整体效率。