• There are a whole bunch of solutions out there for communicating with Espruino boards (http://www.espruino.com/Programming), but they pretty much all require a reasonably big install of some kind (Chrome, Node.js or NW.js) and are also dependent on big projects which keep randomly changing and breaking things (The recent Node.js 10 serial/bluetooth issues for instance).

    It strikes me that what would be perfect is a very small standalone (eg. not Node.js, Python, Java, etc) Native Application for each platform (Windows/Mac/Linux) that:

    • Could communicate over Serial (USB), Bluetooth LE and TCP/IP
    • Could access files on the local hard disk (for proper file loading/saving)
    • Contained an HTTP server that served up the Espruino IDE via an iframe and communicated with websockets like we do for http://forum.espruino.com/conversations/318472/

    In that way we'd have a very small, lightweight (<1MB) application that was fast and easy to install and was basically immune from all the changes and deprecations that go on in these big projects.

    I did look at this with https://github.com/espruino/EspruinoHost using Qt as a multiplatform library, but it was the worst of both worlds - big installs required, not looking like it belongs on any platform, not very reliable, still requiring some OS-specific tweaks, and dependent on Qt's APIs.

    It seems that going fully native in the easiest language for each platform is preferable, but that's not something I really have the capacity to deal with.

    So... Are there any developers out there for Windows, Mac OS or Linux that would be willing to give this a try?

    Another option is to actually add serial and Bluetooth support to Espruino itself on each of those platforms, and use Espruino as the Native application. There is a certain symmetry in it, and having Espruino executables available for Windows, Mac and Linux with a standard API could be quite exciting - however it is definitely a much bigger project (and would restrict the language choice to C/C++).

  • Another option is to actually add serial and Bluetooth support to Espruino itself on each of those platforms, and use Espruino as the Native application. There is a certain symmetry in it

    Interesting idea. At least for linux port it is doable and would benefit the platform itself e.g. when running on Raspberry Zero W which has Bluetooth LE.

About

Avatar for Gordon @Gordon started