All Projects → go-macaron → Macaron

go-macaron / Macaron

Licence: apache-2.0
Package macaron is a high productive and modular web framework in Go.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Macaron

session
Package session is a middleware that provides the session management of Macaron.
Stars: ✭ 26 (-99.2%)
Mutual labels:  macaron, lsif-enabled
Firefly
Firefly is an asynchronous web framework for rapid development of high-performance web application.
Stars: ✭ 277 (-91.43%)
Mutual labels:  web-framework
w4py
Webware for Python
Stars: ✭ 21 (-99.35%)
Mutual labels:  web-framework
Hunt Framework
A Web framework for D Programming Language. Full-stack high-performance.
Stars: ✭ 256 (-92.08%)
Mutual labels:  web-framework
rexsl
Java RESTful XSL-based Web Framework
Stars: ✭ 16 (-99.51%)
Mutual labels:  web-framework
Sihl
A modular functional web framework
Stars: ✭ 267 (-91.74%)
Mutual labels:  web-framework
Navigation
一款基于 Workerman 的 PHP Web 开发框架。
Stars: ✭ 20 (-99.38%)
Mutual labels:  web-framework
Phoenix
Peace of mind from prototype to production
Stars: ✭ 17,476 (+440.55%)
Mutual labels:  web-framework
Shio Rs
Shio is a fast, simple, and asynchronous micro web-framework for Rust.
Stars: ✭ 276 (-91.46%)
Mutual labels:  web-framework
tinyhttp
🦕 Deno port of tinyhttp, 0-legacy, tiny & fast web framework
Stars: ✭ 84 (-97.4%)
Mutual labels:  web-framework
i18n
Package i18n is for app Internationalization and Localization.
Stars: ✭ 79 (-97.56%)
Mutual labels:  lsif-enabled
mangooio
An Intuitive, Lightweight, High Performance Full Stack Java Web Framework.
Stars: ✭ 52 (-98.39%)
Mutual labels:  web-framework
Doggy
Lightweight, idiomatic and stable for building Go 1.7+ HTTP services
Stars: ✭ 268 (-91.71%)
Mutual labels:  web-framework
kotlin-dropwizard
Getting Started with Dropwizard and Kotlin
Stars: ✭ 43 (-98.67%)
Mutual labels:  web-framework
Kemal
Fast, Effective, Simple Web Framework
Stars: ✭ 3,227 (-0.19%)
Mutual labels:  web-framework
flaskage
Flaskage is a complete and carefully designed template for use with the Flask web framework.
Stars: ✭ 36 (-98.89%)
Mutual labels:  web-framework
git-module
Package git-module is a Go module for Git access through shell commands
Stars: ✭ 122 (-96.23%)
Mutual labels:  lsif-enabled
Jupiter
Jupiter是斗鱼开源的面向服务治理的Golang微服务框架
Stars: ✭ 3,455 (+6.87%)
Mutual labels:  web-framework
Routing Controllers
Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage in Express / Koa using TypeScript and Routing Controllers Framework.
Stars: ✭ 3,557 (+10.02%)
Mutual labels:  web-framework
Kite
Micro-service framework in Go
Stars: ✭ 3,105 (-3.96%)
Mutual labels:  web-framework

Macaron

GitHub Workflow Status codecov GoDoc Sourcegraph

Macaron Logo

Package macaron is a high productive and modular web framework in Go.

📣 Announcement

  • If you're considering using Macaron, you may want to take a look at Flamego first, which is the successor of the Macaron.
  • That means Macaron is officially in the maintenance mode, and no major features will be added to Macaron.

Getting Started

The minimum requirement of Go is 1.6.

To install Macaron:

go get gopkg.in/macaron.v1

The very basic usage of Macaron:

package main

import "gopkg.in/macaron.v1"

func main() {
	m := macaron.Classic()
	m.Get("/", func() string {
		return "Hello world!"
	})
	m.Run()
}

Features

  • Powerful routing with suburl.
  • Flexible routes combinations.
  • Unlimited nested group routers.
  • Directly integrate with existing services.
  • Dynamically change template files at runtime.
  • Allow to use in-memory template and static files.
  • Easy to plugin/unplugin features with modular design.
  • Handy dependency injection powered by inject.
  • Better router layer and less reflection make faster speed.

Middlewares

Middlewares allow you easily plugin/unplugin features for your Macaron applications.

There are already many middlewares to simplify your work:

  • render - Go template engine
  • static - Serves static files
  • gzip - Gzip compression to all responses
  • binding - Request data binding and validation
  • i18n - Internationalization and Localization
  • cache - Cache manager
  • session - Session manager
  • csrf - Generates and validates csrf tokens
  • captcha - Captcha service
  • pongo2 - Pongo2 template engine support
  • sockets - WebSockets channels binding
  • bindata - Embed binary data as static and template files
  • toolbox - Health check, pprof, profile and statistic services
  • oauth2 - OAuth 2.0 backend
  • authz - ACL/RBAC/ABAC authorization based on Casbin
  • switcher - Multiple-site support
  • method - HTTP method override
  • permissions2 - Cookies, users and permissions
  • renders - Beego-like render engine(Macaron has built-in template engine, this is another option)
  • piwik - Server-side piwik analytics

Use Cases

  • Gogs: A painless self-hosted Git Service
  • Grafana: The open platform for beautiful analytics and monitoring
  • Peach: A modern web documentation server
  • Go Walker: Go online API documentation
  • Critical Stack Intel: A 100% free intel marketplace from Critical Stack, Inc.

Getting Help

Credits

License

This project is under the Apache License, Version 2.0. See the LICENSE file for the full license text.

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].