pagoda
Echo
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.
pagoda
-
Is there a framework out for go that rivals Laravel as far as out of the box features and tools?
Recently, I have stumbled across this one: https://github.com/mikestefanello/pagoda
- Best Web Sever Framework?
-
Htmx
I'd like to make a small plug for a really awesome Golang web development starter kit I found recently called pagoda (https://github.com/mikestefanello/pagoda). It wires up HTMX, together with Alpine.js and Bulma CSS, onto a really fantastic collection of Go libraries on the back end.
-
Go Framework: No Framework?
Well said. The 'no big framework' thing works for Go because the Go standard library defines a common way for dealing with HTTP. The difficulty, then, is identifying 3rd party packages that play well with the rest of the ecosystem.
You can see the opposite in projects like Echo, Gin, Beego, etc., that eschew the standard library to various degrees and try to build the kitchen sink themselves. Sometimes this works! Echo is very popular, despite having nonstandard handlers and context. An absolute Go newbie is probably going to have an easier time using it than trying to pick out the best collection of libraries themselves.
I would love to see more 'blessed stack' collections that tie together good libraries such as this one: https://github.com/mikestefanello/pagoda
- Go for monolithic websites ?
- Pagoda: Full-stack web development starter kit in Go
-
Ghostly is a simple, lightweight, and fast full-stack framework for Golang
The readme doesn't seem to mention or list what libraries this depends on, it has chi and jet at least based on the structs section.
Given this "framework" is predominantly a collection of other people's (usually apache/mit) work, where is the BOM/licence text including all of the dependencies?
And why has the author attempted to licence their likely sub 100 lines of glue code under the GPL?
I don't see the point in using something like this which is basically a prefilled go.mod with some other files with a pretty stock organization.
I've used Pagoda (https://github.com/mikestefanello/pagoda) in the past which makes a show of displaying its nature as a wrapper around a bunch of community libraries, and is documented as such. They also make effort to document the interfaces for each component so you could easily replace them with your own implementations to avoid getting stuck due to the "framework". This is my preferred approach for all of these "starters" now since using pagoda.
-
Autostrada: A codebase generator for new Go projects
I recently came across https://github.com/mikestefanello/pagoda - which is also a very good starter kit. Unfortunately it comes with some tools I personally don't like a lot (yet) - like htmlx for templates. I suppose this is a problem of all starters - you can only build one which is ideal for you, but not for others. But anyway it's simpler to remove/replace unnecessary parts than create everything from scratch.
- how to learn Go web development in 2022?
-
GO Boilerplate templates
Pagoda looks really nice
Echo
-
Migrating Next.js App to GO + Templ & HTMX
Echo for the web server.
-
Go + Hypermedia - A Learning Journey (Part 1)
Echo - web framework for Go
-
Error handling in Go web apps shouldn't be so awkward
The three behaviors I've described that we want all depend on two things, the first of which is "idiomatic error handling". We need to be able to simply return err in our handlers. Unfortunately, the standard libray doesn't give us this. But some third-party frameworks do. The most popular one I'm familiar with is labstack echo, whose HandlerFunc looks like this:
-
Creating a Dockerfile for your Go Backend
In this tutorial, I will be using the Echo framework to build the backend. You can learn more about Echo here.
-
Microservices in Go Lang with Postgres (Local, Docker to Render Public hosting)
____ __ / __/___/ / ___ / _// __/ _ \/ _ \ /___/\__/_//_/\___/ v4.11.1 High performance, minimalist Go web framework https://echo.labstack.com ____________________________________O/_______ O\ ⇨ http server started on [::]:8080
-
go-ecommerce-microservices: A practical e-commerce microservices, built with cqrs, event sourcing, vertical slice architecture, event-driven architecture.
Some of the features: - ✅ Using Vertical Slice Architecture as a high level architecture - ✅ Using Event Driven Architecture on top of RabbitMQ Message Broker with a custom [Event Bus](pkg/messaging/bus/) - ✅ Using Event Sourcing in Audit Based services like [Orders Service](services/orders/) - ✅ Using CQRS Pattern and Mediator Patternon top of Go-MediatR library - ✅ Using Dependency Injection and Inversion of Controlon top of uber-go/fx library - ✅ Using RESTFul api with Echo framework and using swagger with swaggo/swag library - ✅ Using Postgres and EventStoreDB to write databases with fully supports transactions(ACID) - ✅ Using MongoDB and Elastic Search for read databases (NOSQL) - ✅ Using OpenTelemetry for collection Distributed Tracing with using Jaeger and Zipkin - ✅ Using OpenTelemetry for collection Metrics with using Prometheus and Grafana - ✅ Using Unit Test for testing small units with mocking dependent classes and using Mockery for mocking dependencies - ✅ Using End2End Test and Integration Test for testing features with all of their real dependeinces using docker containers (cleanup tests) and testcontainers-go library
-
go for web backend
If you come from NodeJS background, you may find Echo (https://echo.labstack.com) most similar to express.
- What is the current ideal choice for server-side rendered web frameworks?
-
[OpenSource] I am building high performance Plex alternative in Go for Movies and TV Show
Can I try to rewrite it using the following? I'll just hand you the code I don't care about credit, I just enjoy cleaning things up. - https://github.com/spf13/cobra - https://echo.labstack.com/ - SQLite - and not a bunch of if statements
-
Could I get a code review?
Use a library for HTTP serving, such as Gin, Chi, or Echo. I personally use Chi, as it's just the right level of abstraction for how I like to work. Despite what others say here, don't try to re-implement everything in a modern serving library using the standard library.
What are some alternatives?
golang-templates/seed - Go application GitHub repository template.
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
cookiecutter-golang - A Go project template
Fiber - ⚡️ Express inspired web framework written in Go
service - Starter-kit for writing services in Go using Kubernetes.
mux - A powerful HTTP router and URL matcher for building Go web servers with 🦍
golang-standards/project-layout - Standard Go Project Layout
chi - lightweight, idiomatic and composable router for building Go HTTP services
go-restful-api - An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
Iris - The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:
modern-go-application - Modern Go Application example
Beego - beego is an open-source, high-performance web framework for the Go programming language.