微软通过 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 部门可以通过为工作流程中的每个安全漏洞点建立一个检查清单来加强安全。 云安全

2024-08-23

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

2023-01-11

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

2023-09-26

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

2024-08-18

,ThingsPanel提供了一个开源、灵活且功能强大的解决方案。通过开发专门的服务插件(service_plugin_onenet),ThingsPanel实现了与中国移动OneNet平台的无缝对接。这个方案的核心步骤如下: 部署ThingsPanel: 用户可以选择自行部署或使用Things

2024-08-16

,ThingsPanel提供了一个开源、灵活且功能强大的解决方案。通过开发专门的服务插件(service_plugin_ctwing),ThingsPanel实现了与中国电信CTWing平台的无缝对接。这个方案的核心步骤如下: 1. 部署ThingsPanel:用户可以选择自行部署或使用ThingsP

2022-10-10

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

2023-07-13

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

2024-07-03

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

2023-07-20

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

2023-11-12

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

2023-03-09

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

2024-07-18

dio Cloud 或 Mbed Studio 中构建 Mbed 项目,但可以使用 Mbed CLI 通过 GCC 构建项目。 Mbed OS 的社区分支 Mbed CE 正在积极开发中,后续开源开发者将维护新的分支。