DeviceScript Microsoftu wprowadza TypeScript do IoT

DeviceScript to podzbiór języka TypeScript, który kompiluje się do niestandardowego kodu bajtowego maszyny wirtualnej. Microsoft ze swoją eksperymentalną technologią DeviceScript rozszerza swój język TypeScript na małe urządzenia IoT. Eksperymentalny projekt zawiera również rozszerzenie Visual Studio Code.

Natalya Burova /Getty Images

DeviceScript, projekt open source wprowadzony przez Microsoft Research w maju, przenosi doświadczenie programisty TypeScript na urządzenia oparte na mikrokontrolerach o niskich zasobach, w tym platformy sprzętowe ESP32 i RP2040. DeviceScript, będący podzbiorem języka TypeScript, kompiluje się do niestandardowego kodu bajtowego maszyny wirtualnej, który może działać w bardzo ograniczonych środowiskach. Maszyna wirtualna kompiluje się do 10 KB kodu, z biblioteką zmiennoprzecinkową i Jacdac SDK dodającymi 30 KB. Jacdac to sprzętowy i programowy stos Microsoftu dla mikrokontrolerów i urządzeń peryferyjnych.

Instrukcje dotyczące rozpoczęcia pracy z DeviceScript można znaleźć na stronie internetowej projektu. Rozszerzenie DeviceScript dla edytora Visual Studio Code pozwala programistom budować, wdrażać, debugować i śledzić kod DeviceScript, a także zawiera funkcje monitorowania urządzenia. Interfejs wiersza poleceń DeviceScript pozwala programistom kompilować programy z ich ulubionego IDE. Interfejs CLI może być również używany w kontenerach, takich jak Docker.

Zobacz również:

  • System MS-DOS wrócił po latach w postaci open source
  • 8 błędów strategii danych, których należy unikać

Mówi się, że DeviceScript działa tak samo jak TypeScript, choć nie wszystkie funkcje TypeScript są obsługiwane. Istnieją pewne różnice semantyczne wynikające z ograniczonych zasobów dostępnych dla środowiska wykonawczego DeviceScript, takie jak ciągi będące Unicode, a nie UTF-16, dość agresywne potrząsanie drzewem i brak podnormalnych. Semantyka JavaScript jest ogólnie przestrzegana.

W DeviceScript dostęp do czujników, siłowników lub innych komponentów sprzętowych jest abstrahowany poprzez usługi Jacdac. Czujniki działają jako serwery, a skrypty łączą klientów w celu interakcji z nimi. Aby wchodzić w interakcje z czujnikami/serwerami, deweloperzy uruchamiają klientów, znanych jako role, dla każdej potrzebnej usługi. Deweloperzy mogą wykorzystać npm, Yarn lub pnpm do dystrybucji i konsumpcji pakietów DeviceScript.

Microsoft odpowiada na pull requesty i zgłoszenia w repozytorium GitHub projektu w miarę możliwości czasowych i zasobów.

Źródło: InfoWorld

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200