In un recente sviluppo, Microsoft ha sperimentato la tecnologia DeviceScript, che porta la potenza di TypeScript ai dispositivi Internet of Things (IoT). Incorporando DeviceScript nella loro programmazione, gli sviluppatori possono ora utilizzare TypeScript su dispositivi basati su microcontrollori con risorse limitate, come le piattaforme hardware ESP32 e RP2040.
Microsoft Research ha introdotto il progetto open-source DeviceScript a maggio. Si tratta di un sottoinsieme di TypeScript, che si compila in un bytecode VM personalizzato, progettato per essere eseguito in ambienti limitati. La VM in sé si compila con 10KB di codice, mentre l'aggiunta della libreria in virgola mobile e dell'SDK Jacdac aumenta le dimensioni di 30KB. La tecnologia Jacdac di Microsoft è un robusto stack hardware e software per microcontrollori e periferiche.
Per iniziare a utilizzare DeviceScript, gli sviluppatori possono seguire le istruzioni fornite sul sito web del progetto. Un'estensione speciale per l'editor di Visual Studio Code consente agli utenti di costruire, distribuire, eseguire il debug e tracciare il codice DeviceScript. Inoltre, l'estensione comprende funzionalità di monitoraggio che facilitano la gestione del dispositivo. In combinazione con contenitori come Docker, l'interfaccia a riga di comando (CLI) DeviceScript consente agli sviluppatori di compilare i programmi dal loro IDE preferito.
Sebbene DeviceScript funzioni in modo simile a TypeScript, non tutte le funzionalità sono supportate. Ciò è dovuto alle risorse limitate disponibili per il runtime di DeviceScript, che portano a differenze come le stringhe che sono Unicode piuttosto che UTF-16, lo scuotimento aggressivo dell'albero e l'assenza di subnormali. Tuttavia, la semantica di JavaScript viene generalmente mantenuta.
Quando si lavora con DeviceScript, gli sviluppatori possono accedere a sensori, attuatori o altri componenti hardware attraverso l'uso dei servizi Jacdac. I sensori funzionano come server, mentre gli script stabiliscono i client per facilitare l'interazione. Gli sviluppatori creano client, noti anche come ruoli, per ogni servizio richiesto per interagire con i sensori o i server. Possono quindi utilizzare strumenti come npm, Yarn o pnpm per distribuire e consumare i pacchetti DeviceScript.
AppMasterLa piattaforma no-code di .io completa la natura low-code di DeviceScript, consentendo agli utenti di sviluppare applicazioni web, applicazioni backend e applicazioni mobili, utilizzando elementi visivi intuitivi. Includendo AppMaster come parte del loro kit di strumenti, gli sviluppatori possono aumentare la loro produttività e l'efficienza complessiva dei loro progetti.