diffhtml
live
diffhtml | live | |
---|---|---|
4 | 17 | |
864 | 614 | |
- | - | |
6.4 | 3.8 | |
about 1 month ago | 5 months ago | |
JavaScript | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
diffhtml
-
HTML Streaming and DOM Diffing Algorithm
diffhtml
-
Show HN: LiveViewJS – TypeScript back end for LiveView Apps
Hi floodfx, we should chat at some point if you're on slack/discord/etc. I'm building something extremely similar and there's potential opportunity to share some code/learnings. Personally I feel this design paradigm is the real web 3.0.
My project is https://diffhtml.org/ and I have started experimenting with middleware to bridge to server and client workers: https://github.com/tbranyen/diffhtml/pull/251. For the server worker, it uses a WebSocket to ferry the VDOM diff patches, custom events, and property access/function calls. A big goal is to allow synchronous "main thread" access from workers, including on the server-side. This would allow you to write your UI code as if you were a client side app. It does this the same way as partytown using a SharedArrayBuffer and Atomics. You can see demo source code here: https://gist.github.com/tbranyen/2f5be81cfb7b3aa1bb443c8ef13....
I've also toyed around with hot reloading components without the need for a pre-processor like Babel, and the results are hugely promising. Stateful live UI updates from saving a component file to seeing in the browser without all the fuss with complex build steps is liberating.
I'm probably a few months out from having a usable beta, but I'm going to follow your project closely. Thanks for sharing!
-
Solidjs – JavaScript UI Library
I suggested one such idea (a diffing version of innerHTML) years ago to Mozilla. Ironically, the React team was against it and it fizzled out. In more ironic twists of events, someone eventually wrote a JS implementation of it: https://github.com/tbranyen/diffhtml/tree/master/packages/di... and nowadays people are talking about HTML-based rendering engines again, making this idea somewhat relevant once more.
To be fair to standards bodies, they have done some work. Element.append now exists to make hyperscripts a bit more straightforward, and a lot of reactivity semantics can be implemented on top of Proxy.
live
-
How to Fetch a Turbo Stream
Looks like there are a couple of attempts but my google fu didn't really yield a winner.
https://github.com/while1malloc0/hotwire-go-example
https://github.com/jfyne/live
if that's the case, there is definitely an opening on the market for such tech.
As someone who's been writing web apps since DHTML days, Livewire/Turbo feels like we've finally reached the future.
-
The secret weapon of LiveView development is …
You can see all those “live-” attributes in a small example above. We just say: “ live-click=’tempUp’ “ and Live implementation makes all bindings to our backend code and makes a websocket call for the appropriate Go handler.
-
Not a Go LiveView developer yet? Try to guess what this code is doing, though.
LiveView implementation for Go raised the same type of feelings in me when I went through this for the first time.
-
3 issues LiveView development in Go resolve efficiently for small teams
And here it is, where LiveView programming concepts help us in a great way. LiveView uses websockets to create a persistent connection between the client and the server, which enables the server to push updates to the client in real-time. This allows developers to build interactive user interfaces that can update dynamically in response to user actions or changes in the application state, without the need for traditional page reloads or AJAX requests. LiveView programming style is based on this excellent Live project that is an implementation of the LiveView approach in Go.
- Show HN: A Full-Stack Web Framework Written in Go
-
Spas Were a Mistake
I hate SPAs. I would never do another SPA again if it were up to me. It just adds too much mental context switching and overhead. I can develop fully server-side apps that are lighter, run faster, and at least 20% less development effort (I actually compared that for the same task: https://medium.com/@mustwin/is-react-fast-enough-bca6bef89a6). So why would I ever do an SPA again if it were up to me. I would use https://github.com/jfyne/live which is inspired by Phoenix LiveViews. This is my professional opinion having many years of experience in both kinds of web apps.
-
Show HN: LiveViewJS – TypeScript back end for LiveView Apps
I've been working on a Go implementation if you fancy trying it out
https://github.com/jfyne/live
- What frontend libraries do exist in Go?
-
Looking for early feedback on my new Phoenix LiveView inspired project.
I built it because I love building highly interactive web pages, but the current state of JavaScript leaves me cold. I got really excited when I saw what Phoenix was doing with LiveView and thought I could see the light at the end of the tunnel. There are already a couple of projects also inspired by LiveView (GoLive, live), but I had my own vision that I wanted to realise.
-
go-echo-live-view
Josh Fyne started a nice implementation of a Phoenix LiveView Go implementation here: https://github.com/jfyne/live
What are some alternatives?
solid-ui-react - React SDK using @inrupt/solid-client
bud - The Full-Stack Web Framework for Go
rsp - A simple Java web framework for building real-time user interfaces and UI components.
go-app - A package to build progressive web apps with Go programming language and WebAssembly.
solid-ui - User Interface widgets and utilities for Solid
hlive - HLive is a server-side WebSocket based dynamic template-less view layer for Go.
solid-router - A universal router for Solid inspired by Ember and React Router
loopback-example-facade - Best practices for building scalable Microservices.
caldera-react - Server-side execution for React 🌋
golive - ⚡ Live views for GoLang with reactive HTML over WebSockets 🔌
liveviewjs - LiveView-based library for reactive app development in NodeJS and Deno
pulp - Dynamic, server-side web-applications.