The fact that we can start working with Espruino with just a browser is a killer feature IMO
I know - but sadly there's no way around it (apart from via Puck.js, and perhaps at some point the WiFi-connected devices).
Extensions won't work as they can't use the serial API, so that means that you will have to install something on your computer to use USB (Web Bluetooth will still work) - so then we're left with a few choices:
Install an native messaging extension for Chrome. You'll also need Chrome, as well as some crazy setup steps, and there's no guarantee that it won't die in the future as well.
Install an NW.js/Electron app - this is what I do already on Windows and it's around 60MB (and is super slow to load), but the serial SPI will probably disappear in a few months when Google takes it out of mainline Chromium, so then I'll be back to building and packaging native modules into NW.js.
Install a websocket server - small, fast, and works with all modern browsers using the same espruino.com/ide link as for Web Bluetooth
doing a plugin ... based on Node.js infrastructure
This just adds more pain. I don't know if you've tried to install the Web IDE with node.js from GitHub, but it's a nightmare. For instance if you have to build the native modules for serialport, that's a 15GB download and installation of Visual Studio tools so you have a C compiler. It's not a big deal for a Node.js developer that's already done it, but it's hardly 'plug and play' for anyone else.
Having the websocket server actually opens the door to having proper plugins for other Node.js apps though. I'll package the executables up into a Node.js module so there should finally be a plug & play Node.js system that doesn't require compilation if you have a non-standard node.js version.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I know - but sadly there's no way around it (apart from via Puck.js, and perhaps at some point the WiFi-connected devices).
Extensions won't work as they can't use the
serial
API, so that means that you will have to install something on your computer to use USB (Web Bluetooth will still work) - so then we're left with a few choices:espruino.com/ide
link as for Web BluetoothThis just adds more pain. I don't know if you've tried to install the Web IDE with node.js from GitHub, but it's a nightmare. For instance if you have to build the native modules for serialport, that's a 15GB download and installation of Visual Studio tools so you have a C compiler. It's not a big deal for a Node.js developer that's already done it, but it's hardly 'plug and play' for anyone else.
Having the websocket server actually opens the door to having proper plugins for other Node.js apps though. I'll package the executables up into a Node.js module so there should finally be a plug & play Node.js system that doesn't require compilation if you have a non-standard node.js version.