builder555 / PineSAM

UI for Pinecil V2 - control it over BLE from your PC or your mobile.
MIT License
207 stars 11 forks source link

[Info] Arch Linux package created. #191

Closed dreirund closed 1 year ago

dreirund commented 1 year ago

I just want to leave a not that I have created an Arch Linux package out of this:

↗ pinesam-git.

It was a bit of a nightmare, since nodejs is so f*****g broken when it comes to proper operating system packaging ... (a simple terminal interface with optional gtk or Qt GUI would have been so much simpler ;-) -- but that is how it is, I live with it)

builder555 commented 1 year ago

wow that's awesome! i haven't used arch in years, maybe this'll give me a chance to try again.

i like vue.js too much to write gui in GTK. but a terminal interface sounds like an interesting idea. maybe in Norton Commander style?.

dreirund commented 1 year ago

Ahoj,

thansk for answer!

but a terminal interface sounds like an interesting idea. maybe in Norton Commander style?.

That would mean (n)curses.

I was thinking of a line-oriented thing like "normal" text-absed programmes: One execution -- one information or, depending on given arguments, option(s) set.

But a full-screen self-updating tool like htop could also be interesting.

i like vue.js too much to write gui in GTK.

Actually the installation of pinesam is almost 100 MiB, just because of all the node.js-dependencies which are bundled with the installation. This argument alone would in my eyes speak against node.js but for something which is more easily available as standard on the operating systems -- for windows, the native windows toolkit, for Unixes, GTK, Qt, tk, ..., for MacOS, I don't know. Or if a webapp is wanted maybe a https + JavaScript based GUI which needs less dependencies.

Actually, because of this bloat I decided to uninstall it now and maybe disown the AUR package (for whoever wants to pick up).

Hm.

Regards!

leumasme commented 1 year ago

No need to keep the frontend dependencies around after bundling the Vue app. If the frontend is already built and served via the python server, there's no need to have any nodejs or npm dependencies around at all.
If the bluetooth communication is then moved to the frontend via webbluetooth, although this would drop support for firefox since they refuse to implement it, it would make the whole project statically servable so everyone can use the same instance (or bundle it all into a single .html file to open locally if you prefer), but this is probably not feasible due to compatability.

builder555 commented 1 year ago

No need to keep the frontend dependencies around after bundling the Vue app. If the frontend is already built and served via the python server, there's no need to have any nodejs or npm dependencies around at all. If the bluetooth communication is then moved to the frontend via webbluetooth, although this would drop support for firefox since they refuse to implement it, it would make the whole project statically servable so everyone can use the same instance (or bundle it all into a single .html file to open locally if you prefer), but this is probably not feasible due to compatability.

There is a project that is pure browser-based: https://github.com/joric/pinecil

The issue is that it doesn't work on iOS browsers (at least the more popular ones). Until BLE is natively and properly supported in all browsers, I'll have to stick with a backend.

builder555 commented 1 year ago

added a reference to this package in readme.