GDI.js began as a standalone V8 runtime for Windows. Its V8 host is now replaced by Node.js.
Node owns the event loop and standard APIs such as files, HTTP and TCP. The GDI-specific desktop, device, audio and automation modules remain.
The result is a turbocharged Node.js fork for Windows user space: approachable for entry-level developers and powerful enough for experienced developers and power users.
const ports = JSON.parse($serial.enum());
const connectionId = $serial.open(ports[0].port, 9600);
$serial.write(connectionId, 'STATUS;');
if ($serial.available(connectionId)) {
console.log($serial.read(connectionId));
}
$serial.close(connectionId);
const radios = $bt.listRadios();
const devices = $bt.listBle();
console.log(radios, devices);
$bt.broadcastStart(advertisement => {
console.log(advertisement.address, advertisement.data);
});
const voice = $tts.voices().find(name =>
name.toLowerCase().includes('sapiproxy')
);
$tts.render('Hello from GDI.js for Windows.', voice,
'userdata/cache/voxcache',
(file, elapsedMs) => console.log(file, elapsedMs));
const arrivalListener = $hw.on('arrival', devices => {
console.log('Devices added:', devices);
});
const removalListener = $hw.on('removal', devices => {
console.log('Devices removed:', devices);
});