Comparisons
Compare Procyon with common Go application styles.
Comparisons
More than an HTTP router
Gin, Echo, and Fiber are strong HTTP-focused choices. Procyon is designed as a broader application framework with infrastructure capabilities available out of the box.
Routers help you map requests to handlers. Procyon keeps that part familiar, but also gives the rest of the application a place to live: components, dependency injection, configuration, profiles, lifecycle hooks, startup, shutdown, and CLI commands can all use the same runtime model.
Use Procyon when an application needs more than route registration and middleware.
It is useful when services need shared dependencies, environment-aware
configuration, repeatable startup behavior, and framework pieces that can grow
together without turning main.go into the entire application.
Compared with net/http
net/http is a standard library foundation. It is a good fit when you want full
control and only need request routing, handlers, and middleware.
Procyon adds conventions for larger applications:
| Area | net/http | Procyon |
|---|---|---|
| Routing | manual handler registration | endpoint configuration on components |
| Dependencies | wired manually | constructor injection |
| Startup | application-owned | framework-managed |
| Lifecycle | application-owned | component lifecycle hooks |
Compared with Gin, Echo, and Fiber
Gin, Echo, and Fiber are popular choices when the primary goal is HTTP routing, middleware, request binding, and response handling. They are excellent when an application can stay close to the request/handler layer.
Procyon targets a wider application shape. HTTP endpoints are part of the model, but the same runtime also handles components, dependency injection, configuration, profiles, lifecycle hooks, startup, shutdown, and CLI commands.
| Capability | Gin | Echo | Fiber | Procyon |
|---|---|---|---|---|
| HTTP routing | built in | built in | built in | built in |
| Middleware | built in | built in | built in | built in |
| Dependency injection | not built in | not built in | not built in | built in |
| Typed configuration | not built in | not built in | not built in | built in |
| Application profiles | not built in | not built in | not built in | built in |
| Lifecycle hooks | not built in | not built in | not built in | built in |
| CLI application model | not built in | not built in | not built in | built in |
Choose Gin, Echo, or Fiber when you want a focused HTTP framework and prefer to assemble the surrounding application infrastructure yourself. Choose Procyon when the HTTP layer should live inside a broader runtime with shared application concepts.
Compared with manual application setup
Manual setup gives you full control, but the same patterns often need to be rebuilt in every project: dependency construction, configuration loading, profile selection, startup order, shutdown hooks, and HTTP endpoint registration.
Procyon keeps those concerns inside the runtime. You still write regular Go constructors and application code, but the framework gives those pieces a common place to be registered, configured, started, and stopped.
