W ostatnim czasie Microsoft eksperymentuje z technologią DeviceScript, która przenosi moc TypeScript na urządzenia Internetu rzeczy (IoT). Włączając DeviceScript do swojego programowania, programiści mogą teraz korzystać z TypeScript na urządzeniach opartych na mikrokontrolerach o ograniczonych zasobach, takich jak platformy sprzętowe ESP32 i RP2040.
Microsoft Research wprowadził projekt open-source DeviceScript w maju. Jako podzbiór TypeScript, kompiluje się on do niestandardowego kodu bajtowego maszyny wirtualnej, który został zaprojektowany do działania w ograniczonych środowiskach. Sama maszyna wirtualna kompiluje się do 10 KB kodu, podczas gdy dodanie biblioteki zmiennoprzecinkowej i Jacdac SDK zwiększa rozmiar o 30 KB. Technologia Jacdac firmy Microsoft to solidny stos sprzętu i oprogramowania dla mikrokontrolerów i urządzeń peryferyjnych.
Aby rozpocząć pracę z DeviceScript, programiści mogą postępować zgodnie z instrukcjami podanymi na stronie internetowej projektu. Specjalne rozszerzenie dla edytora Visual Studio Code pozwala użytkownikom budować, wdrażać, debugować i śledzić kod DeviceScript. Dodatkowo, rozszerzenie zawiera funkcje monitorowania, które ułatwiają zarządzanie urządzeniami. W połączeniu z kontenerami takimi jak Docker, interfejs wiersza poleceń DeviceScript (CLI) umożliwia programistom kompilowanie programów z preferowanego IDE.
Podczas gdy DeviceScript działa podobnie do TypeScript, nie wszystkie funkcje są obsługiwane. Wynika to z ograniczonych zasobów dostępnych dla środowiska uruchomieniowego DeviceScript, co prowadzi do różnic, takich jak ciągi Unicode zamiast UTF-16, agresywne potrząsanie drzewem i brak podnormalnych. Jednak semantyka JavaScript jest ogólnie zachowana.
Podczas pracy z DeviceScript, programiści mogą uzyskać dostęp do czujników, siłowników lub innych komponentów sprzętowych poprzez wykorzystanie usług Jacdac. Czujniki działają jako serwery, podczas gdy skrypty ustanawiają klientów w celu ułatwienia interakcji. Programiści tworzą klientów, znanych również jako role, dla każdej wymaganej usługi do interakcji z czujnikami lub serwerami. Następnie mogą wykorzystać narzędzia takie jak npm, Yarn lub pnpm do dystrybucji i konsumpcji pakietów DeviceScript.
AppMasterPlatforma .io" no-code " uzupełnia charakter low-code DeviceScript, umożliwiając użytkownikom tworzenie aplikacji internetowych, aplikacji zaplecza i aplikacji mobilnych przy użyciu intuicyjnych elementów wizualnych. Włączając AppMaster jako część swojego zestawu narzędzi, programiści mogą zwiększyć swoją produktywność i ogólną wydajność swoich projektów.