In jüngster Zeit hat Microsoft mit der Technologie DeviceScript experimentiert, die die Leistungsfähigkeit von TypeScript auf Geräte des Internets der Dinge (IoT) bringt. Durch die Einbindung von DeviceScript in ihre Programmierung können Entwickler nun TypeScript auf Mikrocontroller-basierten Geräten mit begrenzten Ressourcen, wie den Hardware-Plattformen ESP32 und RP2040, verwenden.
Microsoft Research stellte das Open-Source-Projekt DeviceScript im Mai vor. Als Teilmenge von TypeScript kompiliert es zu benutzerdefiniertem VM-Bytecode, der für die Ausführung in eingeschränkten Umgebungen konzipiert ist. Die VM selbst kompiliert 10 KB Code, während die Hinzufügung der Gleitkommabibliothek und des Jacdac SDK die Größe um 30 KB erhöht. Die Jacdac-Technologie von Microsoft ist ein robuster Hardware- und Software-Stack für Mikrocontroller und Peripheriegeräte.
Um mit DeviceScript zu beginnen, können Entwickler den Anweisungen auf der Projekt-Website folgen. Eine spezielle Erweiterung für den Visual Studio Code-Editor ermöglicht es den Benutzern, DeviceScript Code zu erstellen, einzusetzen, zu debuggen und zu verfolgen. Außerdem umfasst die Erweiterung Überwachungsfunktionen, die die Geräteverwaltung erleichtern. In Verbindung mit Containern wie Docker ermöglicht die DeviceScript-Befehlszeilenschnittstelle (CLI) Entwicklern die Kompilierung von Programmen aus ihrer bevorzugten IDE.
Während DeviceScript ähnlich wie TypeScript funktioniert, werden nicht alle Funktionen unterstützt. Dies ist auf die begrenzten Ressourcen zurückzuführen, die der Laufzeitumgebung DeviceScript zur Verfügung stehen, was zu Unterschieden führt, wie z. B. Zeichenketten in Unicode statt UTF-16, aggressives Schütteln des Baums und das Fehlen von Subnormalen. Die Semantik von JavaScript wird jedoch im Allgemeinen beibehalten.
Bei der Arbeit mit DeviceScript können Entwickler durch die Verwendung von Jacdac-Diensten auf Sensoren, Aktoren oder andere Hardwarekomponenten zugreifen. Sensoren fungieren als Server, während Skripte Clients einrichten, um die Interaktion zu erleichtern. Entwickler erstellen Clients, auch Rollen genannt, für jeden benötigten Dienst, um mit Sensoren oder Servern zu interagieren. Sie können dann Werkzeuge wie npm, Yarn oder pnpm verwenden, um DeviceScript Pakete zu verteilen und zu nutzen.
AppMasterDie No-Code-Plattform von .io ergänzt die low-code von DeviceScript und ermöglicht es den Nutzern, Webanwendungen, Backend-Anwendungen und mobile Apps mit intuitiven visuellen Elementen zu entwickeln. Durch die Einbeziehung von AppMaster als Teil ihres Toolkits können Entwickler ihre Produktivität und die Gesamteffizienz ihrer Projekte steigern.