В последнее время компания Microsoft экспериментирует с технологией DeviceScript, которая позволяет использовать возможности TypeScript в устройствах Интернета вещей (IoT). Включив DeviceScript в свое программирование, разработчики теперь могут использовать TypeScript на микроконтроллерных устройствах с ограниченными ресурсами, таких как аппаратные платформы ESP32 и RP2040.
Microsoft Research представила проект DeviceScript с открытым исходным кодом в мае. Являясь подмножеством TypeScript, он компилируется в пользовательский байткод VM, предназначенный для работы в ограниченных средах. Сама виртуальная машина компилируется в 10 КБ кода, а добавление библиотеки с плавающей точкой и Jacdac SDK увеличивает размер на 30 КБ. Технология Jacdac от Microsoft представляет собой надежный аппаратно-программный стек для микроконтроллеров и периферийных устройств.
Чтобы начать работу с DeviceScript, разработчики могут следовать инструкциям, представленным на сайте проекта. Специальное расширение для редактора Visual Studio Code позволяет пользователям собирать, развертывать, отлаживать и трассировать код DeviceScript. Кроме того, расширение включает в себя возможности мониторинга, которые облегчают управление устройством. В сочетании с контейнерами типа Docker интерфейс командной строки (CLI) DeviceScript позволяет разработчикам компилировать программы из предпочитаемой ими IDE.
Хотя DeviceScript работает аналогично TypeScript, не все функции поддерживаются. Это связано с ограниченными ресурсами среды выполнения DeviceScript, что привело к таким отличиям, как использование строк в формате Unicode, а не UTF-16, агрессивное встряхивание деревьев и отсутствие субнормалей. Однако семантика JavaScript в целом сохраняется.
При работе с DeviceScript разработчики могут получить доступ к датчикам, исполнительным механизмам и другим аппаратным компонентам с помощью сервисов Jacdac. Датчики работают как серверы, а скрипты создают клиентов для облегчения взаимодействия. Разработчики создают клиентов, также известных как роли, для каждой необходимой службы для взаимодействия с датчиками или серверами. Затем они могут использовать такие инструменты, как npm, Yarn или pnpm для распространения и использования пакетов DeviceScript.
No-code платформа AppMaster.io дополняет low-code природу DeviceScript, позволяя пользователям разрабатывать веб-приложения, бэкенд-приложения и мобильные приложения, используя интуитивно понятные визуальные элементы. Включив AppMaster в свой инструментарий, разработчики могут повысить производительность и общую эффективность своих проектов.