Vix: C++의 “Node.js”, 가비지 컬렉터 없이
발행: (2026년 1월 31일 오전 12:51 GMT+9)
3 분 소요
원문: Dev.to
Source: Dev.to
개요
Vix는 C++20 기반의 최신 런타임/프레임워크로, 고성능 웹 서버와 API를 구축하는 데 초점을 맞추고 있습니다. Node/Deno에 대한 네이티브 대안을 제공하며, 다음을 중점으로 설계되었습니다:
- 비동기 I/O (Asio 사용)
- 모듈식 아키텍처
- 가비지 컬렉터 없음
- 낮은 오버헤드
분산 백엔드, 오프라인‑first, 피어‑투‑피어 애플리케이션 등에 이상적입니다.
주요 기능
- 비동기 HTTP 서버 (Asio)
- 라우팅 및 미들웨어
- 네이티브 JSON
- CLI를 통한 스캐폴드, 빌드, 실행
- 선택적 모듈: ORM, WebSockets, 유틸리티 등
- 성능과 오프라인/P2P 애플리케이션에 초점을 맞춘 설계
설치
git clone https://github.com/vixcpp/vix.git
cd vix
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
옵션: 프로젝트 문서에 따라 헤더와 아티팩트를 시스템에 설치하십시오.
의존성으로 사용하기
- 헤더와 컴파일된 라이브러리를 프로젝트에 포함합니다.
CMakeLists.txt를 설정하여 vix 라이브러리를 링크합니다.
빠른 예제
소스 코드 (main.cpp)
#include
using namespace vix;
int main() {
App app;
app.get("/", [](Request&, Response& res) {
res.send("Hello world from Vix!");
});
app.run(8080);
}
CMake로 빌드
cmake_minimum_required(VERSION 3.15)
project(MyVixApp)
add_executable(my_vix_app main.cpp)
# Vix가 설치되거나 컴파일된 경로에 맞게 조정
target_include_directories(my_vix_app PRIVATE /caminho/para/vix/include)
target_link_libraries(my_vix_app PRIVATE vix)
컴파일하고 실행합니다:
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
./my_vix_app
브라우저에서 http://localhost:8080에 접속하면 “Hello world from Vix!” 메시지를 확인할 수 있습니다.
추가 정보
공식 저장소: