Macaron
Пакет Macaron представляет собой высокопроизводительный модульный веб-фреймворк на Go.
Начало работы
Минимальное требование для Go — 1.6.
Чтобы установить Macaron:
go get gopkg.in/macaron.v1
Пример использования Macaron:
package main
import "gopkg.in/macaron.v1"
func main() {
m := macaron.Classic()
m.Get("/", func() string {
return "Hello world!"
})
m.Run()
}
Особенности
- Мощное роутинг с субурлом.
- Гибкие комбинации маршрутов.
- Неограниченное количество вложенных групповых маршрутизаторов.
- Прямая интеграция с существующими сервисами.
- Динамическое изменение файлов шаблонов во время выполнения.
- Возможность использовать шаблоны и статические файлы в памяти.
- Простота добавления/удаления функций благодаря модульной конструкции.
- Удобное внедрение зависимостей с помощью inject.
- Улучшенный уровень маршрутизатора и меньшее отражение обеспечивают более высокую скорость.
Промежуточное ПО
Промежуточное ПО позволяет легко добавлять/удалять функции для приложений Macaron.
Существует уже множество промежуточных программ, которые упрощают работу:
- render — механизм шаблонов Go;
- static — обслуживает статические файлы;
-
gzip — сжатие Gzip всех ответов;
-
binding — привязка данных запроса и проверка;
-
i18n — интернационализация и локализация;
-
cache — менеджер кэша;
-
session — диспетчер сеансов;
-
csrf — генерирует и проверяет токены csrf;
-
captcha — сервис капчи;
-
pongo2 — поддержка шаблона Pongo2;
-
sockets — каналы привязки WebSockets;
-
bindata — встраивает двоичные данные как статические и шаблонные файлы;
-
toolbox — проверка работоспособности, pprof, профиль и статистические услуги;
-
oauth2 — бэкенд OAuth 2.0;
-
authz — авторизация на основе Casbin;
-
switcher — поддержка нескольких сайтов;
-
method — переопределение метода HTTP;
-
permissions2 — файлы cookie, пользователи и разрешения;
-
renders — механизм рендеринга, похожий на Beego (у Macaron есть встроенный механизм шаблонов, это ещё один вариант);
-
piwik — серверная аналитика piwik.
Примеры использования
-
Gogs: безболезненная самостоятельная служба Git;
-
Grafana: открытая платформа для красивой аналитики и мониторинга;
-
Peach: современный сервер документации по сети;
-
Go Walker: онлайн-документация API Go;
-
Switch: реестр Gopm;
-
Critical Stack Intel: 100% бесплатная торговая площадка Intel от Critical Stack, Inc.
Получение помощи
Авторы
Лицензия
Этот проект находится под лицензией Apache версии 2.0. См. файл LICENSE для полного текста лицензии.