Vix: o 'Node.js' do C++, sem garbage collector
Source: Dev.to
Visão geral
Vix é um runtime/framework moderno em C++20 voltado para a construção de servidores web e APIs de alto desempenho. Ele oferece uma alternativa nativa ao Node/Deno, com foco em:
- I/O assíncrono (via Asio)
- Arquitetura modular
- Ausência de garbage collector
- Baixo overhead
Ideal para aplicações back‑end distribuídas, offline‑first, peer‑to‑peer, entre outras.
Principais recursos
- Servidor HTTP assíncrono (Asio)
- Roteamento e middleware
- JSON nativo
- CLI para scaffold, build e run
- Módulos opcionais: ORM, WebSockets, utilitários
- Design focado em performance e em aplicativos offline/P2P
Instalação
git clone https://github.com/vixcpp/vix.git
cd vix
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
Opcional: instale os headers e artefatos no sistema conforme a documentação do projeto.
Uso como dependência
- Inclua os headers e bibliotecas compiladas no seu projeto.
- Configure o
CMakeLists.txtpara linkar com a biblioteca vix.
Exemplo rápido
Código‑fonte (main.cpp)
#include
using namespace vix;
int main() {
App app;
app.get("/", [](Request&, Response& res) {
res.send("Hello world from Vix!");
});
app.run(8080);
}
Compilação com CMake
cmake_minimum_required(VERSION 3.15)
project(MyVixApp)
add_executable(my_vix_app main.cpp)
# Ajuste o caminho para onde Vix foi instalado ou compilado
target_include_directories(my_vix_app PRIVATE /caminho/para/vix/include)
target_link_libraries(my_vix_app PRIVATE vix)
Compile e execute:
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
./my_vix_app
Acesse http://localhost:8080 no navegador para ver a mensagem “Hello world from Vix!”.
Mais informações
Repositório oficial: