pushup
fir
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.
pushup
-
Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js
I think this is adding unnecessary complexity. One of the reasons developers gravitate towards a framework like Alpine or HTMX is to write less JS and go back to enjoying HTML. Of course there are a lot of use cases that require custom JS scripting. But bootstrapping a project with another Go web framework and adding Alpine is also trivial. But keep going and follow your vision. I love these types of projects. Check this one out:
https://pushup.adhoc.dev
It's got some unique ideas.
-
Pushup Offers Speed of Go in Web Development Framework
This strikes me as incredibly clever.
The compiler and code-generation implementation seems equally straightforward and complex, my mind is racing trying to build a mental model of the whole thing.
The code generation comes after a feature-packed parser and "compilation" step. Emitting go source code is nice because subsequent compilation tells you if its valid or not. I'm wondering if there is a specific reason the "framework" source code is emitted via a series of printf calls[0]. A library of go template "fragments" might be easier to manage (and debug).
[0] https://github.com/adhocteam/pushup/blob/0519a782c1c9fc79877...
- Golang tech stack
- Best front-end stack for Golang backend
- Pushup – A server-side, page-oriented web framework for Go
- Pushup: a new compiler for making web apps in Go
- Pushup: a new compiler for building web apps in go
- First public release of Pushup: a new compiler for making web apps in Go
fir
-
Building a reactive web app in Go with Fir
Fir is an open source project, so if you are interested in contributing you can head over to their GitHub repository. You can also open an issue there if you encounter any problems you can’t solve on your own.
-
Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js
This example has most of the scenarios you have called out: https://github.com/livefir/fir/tree/main/examples/fira. Fir aims to limit itself to rendering templates on the server and making it available for all subscribers as a browser CustomEvent which is consumed by alpine.js for more complex interactivity. The expectation is the that the developer handles it via either alpine.js plugins or standard JS code.
-
Go Time #266: Is htmx the way to Go?
I have been using this so called template fragments to in a reactive library for building web apps: https://github.com/livefir/fir It mostly works but still a work in progress
-
Ask HN: What companies are embracing “HTML over the wire”?
Been working on a html over the wire library in Go: https://github.com/livefir/fir. It mostly works but still work in progress
-
wails.io - What's the catch?
Then use something like Fir to keep JavaScript at a minimum.
-
Golang Web Framework that works hand in hand with Alpine.js
I am building one. Still a work in progress: https://github.com/adnaan/fir
What are some alternatives?
svelte-mpa - Svelte MPA, Multipage Svelte
bud - The Full-Stack Web Framework for Go
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
wally - The Flash(ing tool)
CS35L-Project
Lorca - Build cross-platform modern desktop apps in Go + HTML5
esbuild - An extremely fast bundler for the web
tetra - Tetra - A full stack component framework for Django using Alpine.js
yaegi-template - Use yaegi as a template engine.
RethinkRAW - RethinkRAW is an unpretentious, free RAW photo editor.
bob - SQL query builder and ORM/Factory generator for Go with support for PostgreSQL, MySQL and SQLite
gomodest-template - A template to build dynamic web apps quickly using Go, html/template and javascript