Drogon é um Framework Web escrito com C++ que funciona nas versões C++14 e também C++17.
O site TechEmpower( link do ranking ) possui alguns serviços de benchmarks que testa desempenho de algumas tecnologias e dentre esses testes, analisou o desempenho de Frameworks Web para Back-end e o Drogon foi o primeiro colocado em testes com 105 frameworks, dentre eles: Rails, Django, NestJS, Laravel e entre outros.
Para instalar, antes você vai precisar de algumas dependências em tempo de compilação e em tempo de execução. Que são elas:
Ou evitando ambiguidade:
sudo dev-vcs/git dev-util/cmake emerge dev-libs/jsoncpp dev-libs/ossp-uuid dev-libs/openssl
Se futuramente você vai desenvolver aplicativos que usam banco de dados(que eu acredito que sim), é extremamente importante você instalá-los antes de instalar o Drogon. Pode ser um dos listados abaixo:
Para esse exemplo básico vamos criar uma página estática sem consulta à banco de dados
Agora nosso meu-projeto
possui os seguintes arquivos:
main.cc
O arquivo original main.cc
está com a porta 80
, mas isso poderá haver um conflito no seu sistema. Então altere, por exemplo, para a porta 8080
.
Se também tiver problema com a porta
8080
, use a porta1024
ou tente uma porta maior que ela que não esteja sendo usada, para saber se está sendo usada use o nmap, por exemplo, para descobrir. Não use portas inferiores à 1024 porque devem ser usadas somente para usuários com privilégios(root
, por exemplo).
Com o seguinte conteúdo:
E compile:
Agora rode o arquivo binário que foi criado dentro do diretório que vocẽ está(build
) . No meu caso, como chamei o projeto de meu-projeto
, há um binário com esse nome, então é só executá-lo:
Acesse o endereço: http://0.0.0.0:8080/
E acessando você já encontrará um belo 404:
Para “derrubar” a execução do servidor, tecle: Ctrl + C
.
Mas isso quer dizer que já está funcionando. Então basta você adicionar uma página HTML(ainda dentro do diretório build
) e acessar novamente:
E acesse: http://localhost:8080/
E então verá sua página:
Vamos criar um controller de nome ListController
de teste só para exibir a frase: “Lista do meu controlador”. Na raiz do seu projeto entre no diretório: controller
e rode o comando a seguir para criar o controller.
A saída deve ser:
create a http simple controller:ListController
.
Foram criados dois arquivos: ListController.cc
e ListController.h
Primeiramente vamos editar o arquivo: ListController.h
e adicionar essas duas linhas:
O arquivo final fica desse jeito:
E o arquivo ListController.cc
deverá ficar assim:
Recompile o projeto e acesse:
Agora tanto na raiz(http://localhost:8080/ via get ou post) como no endereço http://localhost:8080/list obteremos conteúdo.
Se você estiver usando o Postman notará que a raiz devolverá a informação tanto para GET quanto para POST, mas o /list
retornará somente para GET.
O endereço do Drogon oficial no GitHub é: https://github.com/an-tao/drogon, lá você pode obter informação de toda documentação para instalar e desenvolver seus aplicativos web.
Então se inscreva nos nossos Cursos de C++ Moderno . Você aprender criar:
Acesse o endereço: