Baa — это простой и эффективный веб-фреймворк для разработки на Go. Он включает в себя маршрутизацию, промежуточное ПО, внедрение зависимостей и HTTP-контекст.
Baa не использует отражение и регулярные выражения, а также избегает «магической» реализации.
Установка:
go get -u github.com/go-baa/baa
Пример:
// baa.go
package main
import (
"github.com/go-baa/baa"
)
func main() {
app := baa.New()
app.Get("/", func(c *baa.Context) {
c.String(200, "Hello, 世界")
})
app.Run(":1323")
}
Компиляция:
Baa использует кодировку/json в качестве пакета по умолчанию, но вы можете изменить его на jsoniter, собрав из других тегов:
go build -tags=jsoniter .
Запуск:
go run baa.go
Просмотр:
http://127.0.0.1:1323/
https://github.com/go-baa/example
Используется go-http-routing-benchmark (https://github.com/safeie/go-http-routing-benchmark), обновлено 27 февраля 2016 года.
Производительность маршрутизации Baa очень близка к Echo.
BenchmarkBaa_GithubAll 30000 50984 ns/op 0 B/op 0 allocs/op
BenchmarkBeego_GithubAll 3000 478556 ns/op 6496 B/op 203 allocs/op
BenchmarkEcho_GithubAll 30000 47121 ns/op 0 B/op 0 allocs/op
BenchmarkGin_GithubAll 30000 41004 ns/op 0 B/op 0 allocs/op
BenchmarkGocraftWeb_GithubAll 3000 450709 ns/op 131656 B/op 1686 allocs/op
BenchmarkGorillaMux_GithubAll 200 6591485 ns/op 154880 B/oр 2469 allocs/op
BenchmarkMacaron_GithubAll 2000 679559 ns/op 201140 B/оp 1803 allocs/op
BenchmarkMartini_GithubAll 300 5680389 ns/оp 228216 B/оp 2483 allocs/оp
BenchmarkRevel_GithubAll 1000 1413894 ns/оp 337424 B/оp 5512 allocs/оp
Код:
Baa:
package main
import (
"github.com/go-baa/baa"
)
func main() {
app := baa.New()
app.Get("/", func(c *baa.Context) {
c.String(200, "Hello, 世界")
})
app.Run(":1323")
}
Результаты тестирования:
$ wrk -t 10 -c 100 -d 30 http://127.0.0.1:1323/
Running 30s test @ http://127.0.0.1:1323/
``` ## Пример
В настоящее время используется в частном проекте на передовой здравоохранения.
## Вклад
Вдохновение для Baa пришло из проектов beego, echo и macaron.
- safeie, micate — автор;
- betty — консультант по языку;
- Contributors.
## Лицензия
Этот проект находится под лицензией MIT. Полный текст лицензии смотрите в файле [LICENSE](https://raw.githubusercontent.com/go-baa/baa/master/LICENSE).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )