Build modern web apps with GoWeb
GoWeb pairs the speed and simplicity of Go with a flexible templating language and a rich set of built-in functions—so you can move from idea to production fast.
// main.go
package main
import (
"net/http"
)
func main() {
// Serve GoWeb templates & static files
http.Handle("/", http.FileServer(http.Dir("./public")))
http.ListenAndServe(":8080", nil)
}
// In your template:
// http::get("https://api.example.com/status")
// string::escape_html(user.name)
Tiny server + powerful templates. Deploy as a single binary.
Why GoWeb?
Fast & Efficient
Built on Go’s concurrency and minimal overhead—great latency, even under load.
Clean Templating
A concise language that connects backend logic to dynamic pages with ease.
Batteries Included
Math, strings, HTTP, DB access, files, and more—ready out of the box.
Simple Deployment
Ship a single binary and static assets. Run anywhere Go runs.
Flexible Architecture
Keep common tasks simple, while staying out of your way for advanced use cases.
Scales with Teams
Clear separation of concerns makes codebases easier to grow and maintain.
Getting Started
- Install Go (
1.21+
) and fetch GoWeb. - Create a project with
public/
for templates and assets. - Start a tiny HTTP server (see the snippet above).
- Use GoWeb’s built-in functions in your templates to connect to APIs and databases.
- Compile and deploy your single binary.
Hello, GoWeb (template)
<!doctype html>
<html>
<body>
<h1>Hello, string::upper(user.name) !</h1>
<p>Server time: time::now() </p>
</body>
</html>
Ready to explore?
Dive into the language, built-in functions, and real-world examples. Build something fast—and keep it maintainable.