Índice
Características
- Arquitetura leve e modular
- Sistema de roteamento de alta performance
- API simples e intuitiva
- Suporte para middleware
- Opções de configuração flexíveis
- Duas opções de implementação:
Lennarb::App
: Abordagem minimalista para controle completoLennarb::Application
: Versão estendida com componentes comuns
Opções de Implementação
Lennarb oferece duas abordagens de implementação para atender diferentes necessidades:
- Lennarb::App: Abordagem minimalista para controle completo
- Lennarb::Application: Versão estendida com componentes comuns
Consulte a documentação para detalhes sobre cada implementação.
Instalação
Adicione esta linha ao Gemfile da sua aplicação:
gem 'lennarb'
Ou instale diretamente:
gem install lennarb
Guia Rápido
require "lennarb"
app = Lennarb::App.new do
configure do
mandary :database_url, string
optional :port, integer, 9292
optional :env, string, "development"
end
routes do
get("/") do |req, res|
res.html("<h1>Bem-vindo ao Lennarb!</h1>")
end
get("/hello/:name") do |req, res|
name = req.params[:name]
res.html("Olá, #{name}!")
end
end
end
app.initialize!
run app # Em config.ru
Inicie com: rackup
Performance
Lennarb é projetado para alta performance:
Posição | Aplicação | 10 RPS | 100 RPS | 1.000 RPS | 10.000 RPS |
---|---|---|---|---|---|
1 | Lenna | 126.252,36 | 108.086,55 | 87.111,91 | 68.460,64 |
2 | Roda | 123.360,37 | 88.380,56 | 66.990,77 | 48.108,29 |
3 | Syro | 114.105,38 | 80.909,39 | 61.415,86 | 46.639,81 |
4 | Hanami-API | 68.089,18 | 52.851,88 | 40.801,78 | 27.996,00 |
Veja todos os gráficos de benchmark
Documentação
- Primeiros Passos - Configuração e primeiros passos
- Performance - Benchmarks e otimização
- Response - Tratamento de respostas
- Request - Tratamento de requisições
Funcionalidades Principais
# Diferentes tipos de resposta
res.html("<h1>Olá Mundo</h1>")
res.json("{\"mensagem\": \"Olá Mundo\"}")
res.text("Resposta em texto simples")
# Parâmetros de rota
get("/usuarios/:id") do |req, res|
user_id = req.params[:id]
res.json("{\"id\": #{user_id}}")
end
# Redirecionamentos
res.redirect("/nova-localizacao")
Para mais exemplos e documentação completa, consulte: Documentação Completa do Lennarb
Contribuindo
- Faça um fork do repositório
- Crie sua branch de feature (
git checkout -b feature/recurso-incrivel
) - Commit suas alterações (
git commit -am 'Adiciona recurso incrível'
) - Push para a branch (
git push origin feature/recurso-incrivel
) - Abra um Pull Request
Este projeto utiliza o Developer Certificate of Origin e é regido pelo Contributor Covenant.
Licença
Licença MIT - veja o arquivo LICENSE para detalhes.