All Projects → dinever → Golf

dinever / Golf

Licence: mit
⛳️ The Golf web framework

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Golf

Iris
The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |
Stars: ✭ 21,587 (+8604.44%)
Mutual labels:  middleware, framework, server, router
Twig
Twig - less is more's web server for golang
Stars: ✭ 98 (-60.48%)
Mutual labels:  middleware, framework, webframework, router
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.
Stars: ✭ 53,971 (+21662.5%)
Mutual labels:  middleware, framework, server, router
Dragon
⚡A powerful HTTP router and URL matcher for building Deno web servers.
Stars: ✭ 56 (-77.42%)
Mutual labels:  middleware, framework, server, router
Pure Http
✨ The simple web framework for Node.js with zero dependencies.
Stars: ✭ 139 (-43.95%)
Mutual labels:  middleware, framework, server, router
Rayo.js
Micro framework for Node.js
Stars: ✭ 170 (-31.45%)
Mutual labels:  middleware, server, router
Webgo
A minimal framework to build web apps; with handler chaining, middleware support; and most of all standard library compliant HTTP handlers(i.e. http.HandlerFunc).
Stars: ✭ 165 (-33.47%)
Mutual labels:  middleware, webframework, router
Ego
Ego is a full-stack web framework written in Go, lightweight and efficient front-end component solutions, based on gin. The front-end is compiled, does not affect the back-end.
Stars: ✭ 185 (-25.4%)
Mutual labels:  middleware, framework, server
Gear
A lightweight, composable and high performance web service framework for Go.
Stars: ✭ 544 (+119.35%)
Mutual labels:  middleware, framework, router
Zen
zen is a elegant and lightweight web framework for Go
Stars: ✭ 257 (+3.63%)
Mutual labels:  middleware, framework, router
Spock
Another Haskell web framework for rapid development
Stars: ✭ 623 (+151.21%)
Mutual labels:  framework, webframework, server
Min
A minimalistic web framework with route grouping and middleware chaining
Stars: ✭ 95 (-61.69%)
Mutual labels:  middleware, framework, router
Dotweb
Simple and easy go web micro framework
Stars: ✭ 1,354 (+445.97%)
Mutual labels:  middleware, webframework, router
Foxify
The fast, easy to use & typescript ready web framework for Node.js
Stars: ✭ 138 (-44.35%)
Mutual labels:  middleware, framework, router
Discord Backup
📦 Complete framework to facilitate server backup using discord.js v12
Stars: ✭ 172 (-30.65%)
Mutual labels:  framework, server
Routerify
A lightweight, idiomatic, composable and modular router implementation with middleware support for the Rust HTTP library hyper.rs
Stars: ✭ 173 (-30.24%)
Mutual labels:  middleware, router
Sifrr
⚡️ Set of tiny, independent libraries for creating modern and fast webapps with javascript/typescript
Stars: ✭ 174 (-29.84%)
Mutual labels:  framework, server
Middy
🛵 The stylish Node.js middleware engine for AWS Lambda
Stars: ✭ 2,592 (+945.16%)
Mutual labels:  middleware, framework
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-24.19%)
Mutual labels:  framework, server
Actionhero
Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
Stars: ✭ 2,280 (+819.35%)
Mutual labels:  framework, server

GoDoc License Build Status Build Status Coverage Status

A fast, simple and lightweight micro-web framework for Go, comes with powerful features and has no dependencies other than the Go Standard Library.

Homepage: golf.readme.io

Installation

go get github.com/dinever/golf

Features

  1. No allocation during routing and parameter retrieve.

  2. Dead simple template inheritance with extends and include helper comes out of box.

    layout.html

    <h1>Hello World</h1>
    {{ template "body" }}
    {{ include "sidebar.html" }}
    

    index.html

    {{ extends "layout.html" }}
    
    {{ define "body"}}
    <p>Main content</p>
    {{ end }}
    

    sidebar.html

    <p>Sidebar content</p>
    
  3. Built-in XSRF and Session support.

  4. Powerful middleware chain.

  5. Configuration from JSON file.

Hello World

package main

import "github.com/dinever/golf"

func mainHandler(ctx *golf.Context) {
  ctx.Send("Hello World!")
}

func pageHandler(ctx *golf.Context) {
  ctx.Send("Page: " + ctx.Param("page"))
}

func main() {
  app := golf.New()
  app.Get("/", mainHandler)
  app.Get("/p/:page/", pageHandler)
  app.Run(":9000")
}

The website will be available at http://localhost:9000.

Benchmark

The following chart shows the benchmark performance of Golf compared with others.

Golf benchmark

For more information, please see BENCHMARKING.md

Docs

golf.readme.io/docs

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].