lustre-labs / lustre

A Gleam web framework for building HTML templates, single page applications, and real-time server components.
https://hexdocs.pm/lustre
MIT License
1.21k stars 78 forks source link

Claim on main page of documentation: "Elm meets Phoenix LiveView" #177

Closed human154 closed 3 months ago

human154 commented 3 months ago

At the heart of liveview, as I understand it, is a mechanism to communicate seamlessly between front-end and back-end. I'm intrigued by this claim on the main page of lustre docs:

"Universal components. Write once, run anywhere. Elm meets Phoenix LiveView"

I wasn't able to find any documentation on a feature in lustre which approximates liveview. Did I miss it?

I also heard Louis make a similar parallel to liveview, i think in the gleam 1.0 presentation.

If lustre doesn't have liveview-like functionality, or there is no documentation on this yet, then perhaps the claim should be removed for now, to save people the frustration of searching. (again sorry if I'm a dummy and missing something obvious).

hayleigh-dot-dev commented 3 months ago

You can find the api reference for server components here: https://hexdocs.pm/lustre/lustre/server_component.html

An example of how to set them up using mist here: https://github.com/lustre-labs/lustre/tree/main/examples/99-server-components

And here is a repo showcasing the same lustre application used as a SPA, a web component, and as a server component: https://github.com/hayleigh-dot-dev/lustre-universal-component-demo/tree/main