Recientemente, Microsoft ha estado experimentando con la tecnología DeviceScript, que lleva la potencia de TypeScript a los dispositivos de Internet de las Cosas (IoT). Al incorporar DeviceScript en su programación, los desarrolladores pueden ahora utilizar TypeScript en dispositivos basados en microcontroladores con recursos limitados, como las plataformas de hardware ESP32 y RP2040.
Microsoft Research presentó en mayo el proyecto de código abierto DeviceScript. Como subconjunto de TypeScript, se compila en un código de bytes VM personalizado diseñado para ejecutarse en entornos limitados. La propia máquina virtual compila 10 KB de código, mientras que la adición de la biblioteca de coma flotante y el SDK Jacdac aumenta el tamaño en 30 KB. La tecnología Jacdac de Microsoft es una robusta pila de hardware y software para microcontroladores y periféricos.
Para empezar a trabajar con DeviceScript, los desarrolladores pueden seguir las instrucciones facilitadas en el sitio web del proyecto. Una extensión especial para el editor de código Visual Studio permite a los usuarios construir, desplegar, depurar y rastrear el código DeviceScript. Además, la extensión incluye funciones de supervisión que facilitan la gestión de dispositivos. Junto con contenedores como Docker, la interfaz de línea de comandos (CLI) DeviceScript permite a los desarrolladores compilar programas desde su IDE preferido.
Aunque DeviceScript funciona de forma similar a TypeScript, no todas las funciones son compatibles. Esto se debe a los recursos limitados de que dispone el tiempo de ejecución de DeviceScript, lo que conlleva diferencias como que las cadenas sean Unicode en lugar de UTF-16, una agitación agresiva del árbol y la ausencia de subnormales. Sin embargo, en general se mantiene la semántica de JavaScript.
Al trabajar con DeviceScript, los desarrolladores pueden acceder a sensores, actuadores u otros componentes de hardware mediante el uso de servicios Jacdac. Los sensores funcionan como servidores, mientras que los scripts establecen clientes para facilitar la interacción. Los desarrolladores crean clientes, también conocidos como roles, para cada servicio requerido para interactuar con sensores o servidores. A continuación, pueden utilizar herramientas como npm, Yarn o pnpm para distribuir y consumir paquetes de DeviceScript.
AppMasterLa plataforma sin código de .io complementa la naturaleza low-code de DeviceScript, permitiendo a los usuarios desarrollar aplicaciones web, aplicaciones backend y aplicaciones móviles, utilizando elementos visuales intuitivos. Al incluir AppMaster como parte de su conjunto de herramientas, los desarrolladores pueden aumentar su productividad y la eficiencia general de sus proyectos.