I've had good success with Go/Server-Sent Events/HTMX/templ for cross-platform tools. Quick overview:
* Go runs a webserver listening on localhost and opens the user's browser. * Front end is HTMX <https://htmx.org/> with HTML fragments served using the templ <https://templ.guide/> HTML templating engine. * Updates to the front end are pushed with SSE. * Everything is distributed as a single self-contained binary, with assets bundled with go:embed. * Cross-platform support (Linux/Windows/macOS) is trivial thanks to Go's cross-compilation. My own SSE library that makes SSE as easy to use as Go channels: https://github.com/twpayne/go-sse <https://github.com/romshark/templier> There's also https://github.com/romshark/templier which supports this kind of application, but I've not used it yet. Regards, Tom On Thursday, October 24, 2024 at 3:01:06 AM UTC+2 Robert Engels wrote: > Not sure. I worked with SSE last year and got our needs WS was much easier > to deal with - for a few of the reasons cited in the article and some > others. > > On Oct 23, 2024, at 7:24 PM, Sharon Mafgaoker <sha...@cloud5.co.il> wrote: > > > > Hi Robert > Thank you for sharing with us. > From 2020 still relevant? > > Sharon Mafgaoker – Senior Solutions Architect > > M. 050 995 99 16 | sha...@cloud5.co.il > > > > > On Wed, 23 Oct 2024 at 17:53 robert engels <ren...@ix.netcom.com> wrote: > >> This might be helpful >> https://dev.to/miketalbot/server-sent-events-are-still-not-production-ready-after-a-decade-a-lesson-for-me-a-warning-for-you-2gie >> >> We had an SSE and abandoned it for WS - but we were high volume. >> >> On Oct 23, 2024, at 9:48 AM, robert engels <ren...@ix.netcom.com> wrote: >> >> A lot depends on the volume - you need back pressure support for high >> volume events over the internet - and the built-in ping/pong of WS makes >> this straightforward. I think it is pretty hard to do back pressure if >> unidirectional as well (need side endpoints, etc.). >> >> On Oct 23, 2024, at 9:44 AM, 'Zane Attahri' via golang-nuts < >> golan...@googlegroups.com> wrote: >> >> Second this, and go ever further. >> >> If you don’t need bi-directional communication, SSE are almost always the >> better choice. Simpler to implement, standard, and easier to consume by >> non-browser clients. >> >> On Oct 23, 2024, at 10:37 AM, Brian Hatfield <bmhat...@gmail.com> wrote: >> >> I don't think it's quite so binary. Websockets are a lot more complex, >> require more sophisticated endpoints and load balancing. SSE has fine >> browser support in 2024, minus the ability to set auth headers. I think for >> cases with unidirectional communication, SSE is a choice worth evaluating >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/2A0061EB-36AA-472E-8B9D-81BBD0F779E0%40attahri.com >> . >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/797096F1-5219-40BD-A382-AF79B435EAAB%40ix.netcom.com >> >> <https://groups.google.com/d/msgid/golang-nuts/797096F1-5219-40BD-A382-AF79B435EAAB%40ix.netcom.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/27067e2d-c9cf-4eed-87a6-10ff97f91823n%40googlegroups.com.