Récemment, Microsoft a expérimenté la technologie DeviceScript, qui apporte la puissance de TypeScript aux appareils de l'Internet des objets (IoT). En intégrant DeviceScript dans leur programmation, les développeurs peuvent désormais utiliser TypeScript sur des appareils à base de microcontrôleurs aux ressources limitées, comme les plates-formes matérielles ESP32 et RP2040.
Microsoft Research a présenté le projet open-source DeviceScript en mai. En tant que sous-ensemble de TypeScript, il se compile en bytecode VM personnalisé conçu pour fonctionner dans des environnements limités. La VM elle-même se compile en 10 Ko de code, tandis que l'ajout de la bibliothèque de virgule flottante et du SDK de Jacdac augmente la taille de 30 Ko. La technologie Jacdac de Microsoft est une pile matérielle et logicielle robuste pour microcontrôleurs et périphériques.
Pour commencer à utiliser DeviceScript, les développeurs peuvent suivre les instructions fournies sur le site web du projet. Une extension spéciale pour l'éditeur Visual Studio Code permet aux utilisateurs de construire, déployer, déboguer et tracer le code DeviceScript. En outre, l'extension comprend des fonctions de surveillance qui facilitent la gestion des appareils. Associée à des conteneurs tels que Docker, l'interface de ligne de commande (CLI) DeviceScript permet aux développeurs de compiler des programmes à partir de leur IDE préféré.
Bien que DeviceScript fonctionne de manière similaire à TypeScript, toutes les fonctionnalités ne sont pas prises en charge. Cela est dû aux ressources limitées dont dispose le moteur d'exécution DeviceScript, ce qui entraîne des différences telles que les chaînes de caractères en Unicode plutôt qu'en UTF-16, l'agitation agressive de l'arbre et l'absence de sous-normes. Toutefois, la sémantique de JavaScript est généralement conservée.
Lorsqu'ils travaillent avec DeviceScript, les développeurs peuvent accéder à des capteurs, des actionneurs ou d'autres composants matériels en utilisant les services Jacdac. Les capteurs fonctionnent comme des serveurs, tandis que les scripts établissent des clients pour faciliter l'interaction. Les développeurs créent des clients, également appelés rôles, pour chaque service requis afin d'interagir avec les capteurs ou les serveurs. Ils peuvent ensuite utiliser des outils tels que npm, Yarn ou pnpm pour distribuer et consommer les paquets DeviceScript.
AppMasterLa plateforme sans code.io complète la nature low-code de DeviceScript, permettant aux utilisateurs de développer des applications web, des applications dorsales et des applications mobiles à l'aide d'éléments visuels intuitifs. En intégrant AppMaster à leur boîte à outils, les développeurs peuvent accroître leur productivité et l'efficacité globale de leurs projets.