Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Easier Web GUI #1062

Closed
gedw99 opened this issue Jun 6, 2023 · 6 comments
Closed

Feature: Easier Web GUI #1062

gedw99 opened this issue Jun 6, 2023 · 6 comments
Labels
feature New feature or request triage Needs to be triaged

Comments

@gedw99
Copy link

gedw99 commented Jun 6, 2023

Feature description

At wanted to extend the gui quite a bit for some ideas as its very simple right now. Simple is good, but there are many more opportunities to make the gui provide more functionality.

But I mean no disrespect but it is so complex for no reason.

Run this. It's another way to do web gui using the htmx pattern with a decent golang template system.

https://github.com/joerdav/go-htmx-examples

Just go run .

the templates are a joy to work with IMHO.


Why ?

  • so much easier and cleaner.
  • there is NO build. Only the template need a "go generate ."
  • fast....
  • much easier for a golang team to work on the GUI.
  • easy to update the GUI by pushing from the back. HTMX accepts push updates from the backend. You push html over the wire.
  • standards: https://htmx.org/examples/
  • htmx is very popular actually.
  • any backend or frontend person can easily work on it. there is very little to learn.
@gedw99 gedw99 added feature New feature or request triage Needs to be triaged labels Jun 6, 2023
@github-project-automation github-project-automation bot moved this to Triage in Conduit Main Jun 6, 2023
@hariso
Copy link
Contributor

hariso commented Jun 6, 2023

At wanted to extend the gui quite a bit for some ideas as its very simple right now. Simple is good, but there are many more opportunities to make the gui provide more functionality.

But I mean no disrespect but it is so complex for no reason.

The two bolded parts are contradicting each other. I guess you meant it's simple feature-wise, but complex development-wise (internally)?

@gedw99
Copy link
Author

gedw99 commented Jun 8, 2023

hey @hariso

its simple in terms of development but great in terms of features.

just play with this and its really obvious how power this simple approach is IMHO:
https://htmx.org/examples/

I noticed you have a repo at https://github.com/ConduitIO/mx-ui-components that also is a storybook.

https://github.com/joerdav/go-htmx-examples imports https://github.com/a-h/templ which has storybook support.
https://github.com/a-h/templ/tree/main/storybook

so its basically nice golang system for building web gui that is real time updated.

I currently use this with nats. Any nats consumer gets data / event, processes it, and creates the html and sends it over SSE or web sockets to the Web gui. htmx then just replaces the html on the client.

Also here is some high level stuff about htmx:
https://github.com/bigskysoftware/htmx
https://www.reddit.com/r/htmx/

@simonl2002
Copy link
Member

Not going to tag this for a milestone yet because there needs to be more discussion here.

@simonl2002 simonl2002 removed the status in Conduit Main Jun 12, 2023
@gedw99
Copy link
Author

gedw99 commented Jun 12, 2023

The two bolded parts are contradicting each other. I guess you meant it's simple feature-wise, but complex development-wise (internally)?

No i did not :)
I think it's simple to develop with, and it's highly extensible. See the examples: https://htmx.org/examples/

@gedw99
Copy link
Author

gedw99 commented Jun 12, 2023

Not going to tag this for a milestone yet because there needs to be more discussion here.

yep. That's partly why i added the reddit link, so you can see what others think

@simonl2002
Copy link
Member

conduit UI is being retired. closing. #1911

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request triage Needs to be triaged
Projects
Archived in project
Development

No branches or pull requests

3 participants