Crow es un microframework de C++ para crear servicios web HTTP o Websocket. Utiliza enrutamiento similar al de Flask de Python. Se considera sumamente rápido y eficiente.
Veamos un ejemplo
holamundo.cpp
#include "crow.h" int main() { crow::SimpleApp app; CROW_ROUTE(app, "/")([](){ return "Hola, mundo"; }); app.port(18080).run(); }
Este código en C++ expone un sencillo servicio que imprime el famoso "Hola, mundo".
Requisitos para instalarlo:
- Git.
- Python (versión 3).
- CMake.
- VsCode con soporte a C++.
- VCPKG.
Validamos si tenemos Git:
$ git --version
Validamos si tenemos Python:
$ python --version
Validamos si tenemos CMake:
$ cmake --version
Ahora instalaremos VCPKG. Abrimos una terminal y tecleamos este comando git para clonar el repo.
$ git clone https://github.com/microsoft/vcpkg.git
Nos ubicamos en la carpeta:
$ cd vcpkg
Ejecutamos estos archivos:
$ bootstrap-vcpkg.bat $ vcpkg integrate install
Si todo va bien, clonaremos el repo de Crow (antes sal del directorio de vcpkg):
$ git clone https://github.com/CrowCpp/Crow.git
Nos ubicamos en el directorio de Crow:
$ cd Crow
Buscar el directorio de ``scripts``. Ejecuta estos comandos:
$ python merge_all.py ..\include crow_all.h
Si todo va bien, salimos del directorio de Crow y creamos un proyecto C++ vacío:
$ mkdir proyecto-crow $ cd proyecto-crow
Copiamos los archivos ``crow_all.h``, ``example_with_all.cpp`` y ``vcpkg.json`` del directorio Crow al directorio del proyecto nuevo. Además agregamos ``crow_all.h`` como archivo de encabezado y ``example_with_all.cpp`` como archivo fuente.
El directorio quedará de este modo:
proyecto-crow/ crow_all.h example_with_all.cpp vcpkg.json
Abrimos nuestro Visual Studio Code. Editamos el nombre del archivo C++ para denominarlo ``holamundo.cpp``. Sustituimos el contenido por este otro:
#include "crow.h" int main() { crow::SimpleApp app; CROW_ROUTE(app, "/")([](){ return "Hola, mundo"; }); app.port(18080).run(); }
Debemos hacer una instalación más. Nos ubicamos en el directorio de vcpkg y ejecutamos este comando:
$ vcpkg install asio
Lanzamos otro comando:
$ vcpkg integrate install
Con esto nos permitira instalar la librería asio. Necesaria para nuestra aplciación. Regresamos al directorio del proyecto (proyecto-crow) y creamos el ejecutable:
$ g++ holamundo.cpp -o holamundo.exe
Si todo va bien, creará el ejecutable. Otra forma es con Visual Studio Code.
Abrimos el navegador en la ruta: http://localhost:18080/
Con el mensaje de "Hola, mundo".
Conclusión: este es uno de los 101010100 frameworks web que prometen la panacea universal; resolver todos los problemas que los demás frameworks prometieron hace miles de años. Se ve interesante, pero en el mundo laboral difícilmente se optaría abandonar algún desarrollo en, digamos Spring Boot, por este. Además de ser para C++. Para ello se optarían otros lenguajes como Java, Python o C#.
Enlaces:
https://crowcpp.org
No hay comentarios:
Publicar un comentario