You are reading a single comment by @Gordon and its replies.
Click here to read the full conversation.
-
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.
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:
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++).