微软通过 DeviceScript 技术将 TypeScript 引入物联网


微软研究院推出了一个开源项目 DeviceScript,凭借其实验性的 DeviceScript 技术将其 TypeScript 语言扩展到微型物联网设备。

根据介绍,DeviceScript 为低资源、基于微控制器的设备,包括 ESP32 和 RP2040 硬件平台带来了 TypeScript 的开发者体验。作为 TypeScript 的一个子集,DeviceScript 被编译成可以在非常有限的环境中运行的自定义 VM 字节码。该实验性项目还包括一个 Visual Studio Code 扩展。

Visual Studio 代码编辑器的 DeviceScript 扩展允许开发人员生成、部署、调试和跟踪 DeviceScript 代码,还包括设备监视功能。DeviceScript 命令行界面允许开发人员从他们喜欢的 IDE 编译程序。CLI 也可以在容器中使用,例如 Docker。

据称 DeviceScript 的工作方式与 TypeScript 相同,但并不支持所有 TypeScript 的功能。由于 DeviceScript 运行时可用的资源有限,因此存在一些语义上的差异:例如字符串是 Unicode 而不是 UTF-16、tree shaking 相当 aggressive、以及缺乏 subnormals。

使用 DeviceScript,对传感器,执行器或其他硬件组件的访问通过 Jacdac 服务抽象化;Jacdac 是微软用于微控制器和外设的硬件和软件栈。传感器充当服务器,脚本连接客户端以与它们交互。为了与传感器/服务器交互,开发人员需要为每个所需的服务启动客户端(称为 roles)。开发人员可以利用 npm、Yarn 或 pnpm 来分发和使用 DeviceScript packages。

更多详情可访问项目网站。


相關推薦

2023-11-30

微软宣布将 Azure RTOS 托管至 Eclipse 基金会,并更名为 Eclipse ThreadX。 Azure RTOS 是一个带有 ThreadX 实时操作系统(RTOS)的嵌入式开发套件。ThreadX 是一个普及性很高的小型 RTOS,可为资源受限的设备提供可靠、超快的性能;

2022-11-30

,因为 IT 对它们的经验有限。 多层安全:IT 部门可以通过为工作流程中的每个安全漏洞点建立一个检查清单来加强安全。 云安全

2023-01-11

供全场景设备托管与一体化软件开发的透明框架。开发者通过使用Shifu,可以更简单地连接、监视和控制任何物联网设备。目前,Shifu已为多行业细分头部企业提供框架托管服务,并荣膺中国信通院工业互联网产业联盟工业互联

2023-09-26

于对物联网设备调试过程中存在问题的深入研究和理解。通过提供开源的解决方案,WeMQ希望为物联网设备运营商提供一个高性能、安全可靠、功能强大的调试和管理平台,帮助他们简化设备调试流程、提高调试效率,并保证设

2023-07-13

除重复代码,支持文件夹内容显示 [修复] 采用自定义 Typescript 类型定义方式,临时修复新版本 quasar 类型不兼容,导致 IDE 出现类型错误提示问题 [修复] 修复前端部分 Typescript 类型校验错误 [修复] OSS 服务缺少必要配置,导

2023-07-20

风格和操作习惯尽量与当前流行方式统一。 充份使用 Typescript 语言特性,解决大量类型校验问题,尽可能规避 "any" 式的 Typescript 编程语言使用方式。 充份使用 Composition Api 和 Hooks 等 Vue3 框架新版特性进行代码编写。 充份

2023-03-09

一些企业级功能。如果贵公司认可 smart-mqtt 的价值,可以通过成为赞助商获得企业版授权。 功能特性 企业版 License 认证。授权过期将无法启动服务,但并不会因授权过期影响正在运行的 Broker。 MQTT over WebSocket。 Broker

2022-10-10

TypeScript 已经诞生 10 年了。10 年前——2012 年 10 月 1日,TypeScript 首次公开亮相。当时主导 TypeScript 开发的 Anders Hejlsberg 这样描述 TypeScript: 它是 JavaScript 的类型化超集,可被编译成常用的 JavaScript。TypeScript 还可以通过启

2023-11-12

风格和操作习惯尽量与当前流行方式统一。 充份使用 Typescript 语言特性,解决大量类型校验问题,尽可能规避 "any" 式的 Typescript 编程语言使用方式。 充份使用 Composition Api 和 Hooks 等 Vue3 框架新版特性进行代码编写。 充份

2023-09-09

风格和操作习惯尽量与当前流行方式统一。 充份使用 Typescript 语言特性,解决大量类型校验问题,尽可能规避 "any" 式的 Typescript 编程语言使用方式。 充份使用 Composition Api 和 Hooks 等 Vue3 框架新版特性进行代码编写。 充份

2023-09-07

中内置与下游系统的集成逻辑(如:Kafka),BifroMQ更倾向于通过符合MQTT标准的方式与下游系统"对接"。例如,通过共享订阅(Shared Subscription)机制,将集成逻辑外置,实现更加解耦的桥接和向异构系统转发消息的能力,同时保持高

2023-08-06

构,洛书的模块化机制在这一版本中得到了充分的完善;通过模块管理器,您可以快速地从软件源中查找、安装、升级不同的功能模块,良好的模块化机制大大提高了洛书的可维护性和可扩展性。 并发与多线程:线程模块被

2022-12-17

fastjson 升级至 fastjson2:2.0.20.graal。 重构消息推送模型,通过优化设计获得更高的通信性能。 新增事件总线的事件类型:MESSAGE_BUS_CONSUMED MemoryMessageStoreQueue 仅存储类型为 MqttPublishMessage 的消息。 缓冲区配置参数由 readBufferSiz

2022-12-02

更灵活的安全防护,新增了 Google Cloud Pub/Sub 集成帮助您通过 Google Cloud 各类服务发掘更多物联网数据价值,还加入了满足自动化运维需要的预定义 API 密钥功能。除此之外,我们还修复了多项 BUG。 CRL 与 OCSP Stapling 此前版本中