|
1 | | -# Vix.cpp |
2 | | - |
3 | | -<p align="center"> |
4 | | - <img |
5 | | - src="https://res.cloudinary.com/dwjbed2xb/image/upload/v1762524350/vixcpp_etndhz.png" |
6 | | - alt="Vix.cpp Banner" |
7 | | - width="100%" |
8 | | - style="max-width:900px;border-radius:8px;" |
9 | | - /> |
| 1 | +<table> |
| 2 | + <tr> |
| 3 | + <td valign="top" width="70%"> |
| 4 | + |
| 5 | +<h1>Vix.cpp</h1> |
| 6 | + |
| 7 | +<p> |
| 8 | + <a href="https://x.com/vix_cpp"> |
| 9 | + <img src="https://img.shields.io/badge/X-Follow-black?logo=x" /> |
| 10 | + </a> |
| 11 | + <a href="https://www.youtube.com/@vixcpp"> |
| 12 | + <img src="https://img.shields.io/badge/YouTube-Subscribe-red?logo=youtube" /> |
| 13 | + </a> |
10 | 14 | </p> |
11 | 15 |
|
12 | | -<h1 align="center">Vix.cpp</h1> |
| 16 | +<h3>Build real applications with modern C++.</h3> |
13 | 17 |
|
14 | | -<p align="center"> |
15 | | - ⚡ Offline-first · Peer-to-peer · Ultra-fast C++ runtime |
| 18 | +<p> |
| 19 | + Vix.cpp is a modern C++ runtime for building fast, reliable, production-ready applications. |
16 | 20 | </p> |
17 | 21 |
|
18 | | -<p align="center"> |
19 | | - <img src="https://img.shields.io/badge/C%2B%2B-20-blue" /> |
20 | | - <img src="https://img.shields.io/badge/License-MIT-green" /> |
21 | | - <img src="https://img.shields.io/github/actions/workflow/status/vixcpp/vix/SECURITY_CI.yml?label=CI" /> |
22 | | - <img src="https://img.shields.io/github/stars/vixcpp/vix?style=flat" /> |
23 | | - <img src="https://img.shields.io/github/forks/vixcpp/vix?style=flat" /> |
24 | | - <img src="https://img.shields.io/github/issues/vixcpp/vix" /> |
25 | | - <img src="https://img.shields.io/badge/Status-Active-success" /> |
26 | | - <img src="https://img.shields.io/github/v/tag/vixcpp/vix" /> |
| 22 | +<p> |
| 23 | + <a href="https://vixcpp.com"><b>Website</b></a> · |
| 24 | + <a href="https://docs.vixcpp.com"><b>Docs</b></a> · |
| 25 | + <a href="https://registry.vixcpp.com"><b>Registry</b></a> · |
| 26 | + <a href="https://blog.vixcpp.com"><b>Engineering notes</b></a> |
27 | 27 | </p> |
28 | 28 |
|
29 | | -<p align="center"> |
30 | | -⭐ If this vision resonates with you, consider starring the project. |
31 | | -</p> |
| 29 | +</td> |
32 | 30 |
|
33 | | ---- |
| 31 | +<td valign="middle" width="13%" align="right"> |
34 | 32 |
|
35 | | -## What is Vix.cpp? |
| 33 | +<img |
| 34 | + src="https://res.cloudinary.com/dwjbed2xb/image/upload/v1778607554/vix_logo_ms5lne.png" |
| 35 | + width="150" |
| 36 | + style="border-radius:50%; object-fit:cover;" |
| 37 | +/> |
36 | 38 |
|
37 | | -**Vix.cpp** is a modern **C++ runtime** designed as a serious alternative to **Node.js, Deno, and Bun** |
38 | | -but engineered **from day one** for: |
| 39 | +</td> |
| 40 | + </tr> |
| 41 | +</table> |
39 | 42 |
|
40 | | -- unstable networks |
41 | | -- offline-first environments |
42 | | -- peer-to-peer systems |
43 | | -- extreme native performance |
| 43 | +Vix.cpp removes friction from C++ application development. |
| 44 | +It gives C++ a modern application workflow while keeping native performance, explicit control, and production-oriented architecture. |
44 | 45 |
|
45 | | -> **Run applications like Node/Deno/Bun |
46 | | -> with C++ speed, control, and predictability.** |
| 46 | +Vix is not just a web framework. |
| 47 | +It is a runtime foundation for backend services, AI agents, games, P2P systems, local-first applications, fast builds, templates, and production-ready C++ projects. |
47 | 48 |
|
48 | | -Vix is not just a backend framework. |
49 | | -It is a **runtime layer** for real-world distributed systems. |
| 49 | +## Install |
50 | 50 |
|
51 | | ---- |
| 51 | +Shell, Linux and macOS: |
52 | 52 |
|
53 | | -## Who is Vix.cpp for? |
| 53 | +```bash |
| 54 | +curl -fsSL https://vixcpp.com/install.sh | bash |
| 55 | +``` |
54 | 56 |
|
55 | | -Vix.cpp is built for developers who: |
| 57 | +PowerShell, Windows: |
56 | 58 |
|
57 | | -- Build backend systems in **modern C++** |
58 | | -- Need **predictable performance** (no GC pauses) |
59 | | -- Target **offline-first or unreliable networks** |
60 | | -- Work on **edge, local, or P2P systems** |
61 | | -- Want a **Node/Deno-like DX**, but native |
| 59 | +```powershell |
| 60 | +irm https://vixcpp.com/install.ps1 | iex |
| 61 | +``` |
62 | 62 |
|
63 | | -If you’ve ever thought _“I wish Node was faster and more reliable”_ |
64 | | -Vix is for you. |
| 63 | +More installation options: |
65 | 64 |
|
66 | | ---- |
| 65 | +https://vixcpp.com/install |
67 | 66 |
|
68 | | -## Why Vix exists |
| 67 | +## Quick start |
69 | 68 |
|
70 | | -Most modern runtimes assume: |
| 69 | +Create `server.cpp`: |
71 | 70 |
|
72 | | -- stable internet |
73 | | -- cloud-first infrastructure |
74 | | -- predictable latency |
75 | | -- always-online connectivity |
| 71 | +```cpp |
| 72 | +#include <vix.hpp> |
| 73 | +using namespace vix; |
76 | 74 |
|
77 | | -That is **not reality** for much of the world. |
| 75 | +int main() |
| 76 | +{ |
| 77 | + vix::App app; |
78 | 78 |
|
79 | | -**Vix.cpp is built for real conditions first.** |
| 79 | + app.get("/", [](Request &req, Response &res) { |
| 80 | + res.send("Hello from Vix.cpp"); |
| 81 | + }); |
80 | 82 |
|
81 | | ---- |
| 83 | + app.run(8080); |
82 | 84 |
|
83 | | -## Performance is not a feature it’s a requirement |
| 85 | + return 0; |
| 86 | +} |
| 87 | +``` |
84 | 88 |
|
85 | | -Vix.cpp is designed to remove overhead, unpredictability, and GC pauses. |
| 89 | +Run it: |
86 | 90 |
|
87 | | -### ⚡ Benchmarks (Dec 2025) |
| 91 | +```bash |
| 92 | +vix run server.cpp |
| 93 | +``` |
88 | 94 |
|
89 | | -| Framework | Requests/sec | Avg Latency | |
90 | | -| --------------------------- | ------------ | ----------- | |
91 | | -| ⭐ **Vix.cpp (pinned CPU)** | **~99,000** | 7–10 ms | |
92 | | -| Vix.cpp (default) | ~81,400 | 9–11 ms | |
93 | | -| Go (Fiber) | ~81,300 | ~0.6 ms | |
94 | | -| Deno | ~48,800 | ~16 ms | |
95 | | -| Node.js (Fastify) | ~4,200 | ~16 ms | |
96 | | -| PHP (Slim) | ~2,800 | ~17 ms | |
97 | | -| FastAPI (Python) | ~750 | ~64 ms | |
| 95 | +Open: |
98 | 96 |
|
99 | | ---- |
| 97 | +```text |
| 98 | +http://localhost:8080 |
| 99 | +``` |
100 | 100 |
|
101 | | -## It really is this simple |
| 101 | +## Why Vix.cpp ? |
| 102 | + |
| 103 | +C++ is powerful, but building real applications often means rebuilding the same foundation again and again. |
| 104 | + |
| 105 | +Vix gives you that foundation: |
| 106 | + |
| 107 | +- run C++ files with `vix run` |
| 108 | +- create projects with `vix new` |
| 109 | +- build fast with `vix build` |
| 110 | +- build backend services |
| 111 | +- build WebSocket applications |
| 112 | +- build P2P systems |
| 113 | +- build AI agents |
| 114 | +- build game-oriented projects |
| 115 | +- use threadpool and async runtime modules |
| 116 | +- use KV, cache, database, ORM, middleware, crypto, validation, and template modules |
| 117 | +- generate production-ready backend projects |
| 118 | +- integrate backend projects with frontend apps such as Vue.js |
| 119 | + |
| 120 | +## Runtime modules |
| 121 | + |
| 122 | +```text |
| 123 | +agent async cache cli conversion |
| 124 | +core crypto db env error |
| 125 | +fs game io json kv |
| 126 | +log middleware net orm os |
| 127 | +p2p p2p_http path process reply |
| 128 | +sync template tests threadpool time |
| 129 | +utils validation webrpc websocket |
| 130 | +``` |
102 | 131 |
|
103 | | -```cpp |
104 | | -#include <vix.hpp> |
| 132 | +Vix.cpp is designed as an application runtime layer, not only as an HTTP server. |
105 | 133 |
|
106 | | -int main() { |
107 | | - vix::App app; |
| 134 | +## Built with Vix.cpp |
108 | 135 |
|
109 | | - app.get("/", [](Request&, Response& res){ |
110 | | - res.send("Hello from Vix.cpp 🚀"); |
111 | | - }); |
| 136 | +### Kordex |
112 | 137 |
|
113 | | - app.run(8080); |
114 | | -} |
115 | | -``` |
| 138 | +A JavaScript and TypeScript runtime layer built on Vix and Softadastra. |
116 | 139 |
|
117 | | ---- |
| 140 | +https://github.com/softadastra/kordex |
118 | 141 |
|
119 | | -## Script mode Run C++ like a script |
| 142 | +### Softadastra |
120 | 143 |
|
121 | | -```bash |
122 | | -vix run main.cpp |
123 | | -vix dev main.cpp |
124 | | -``` |
| 144 | +A local-first and offline-first runtime foundation for reliable applications. |
| 145 | + |
| 146 | +https://github.com/softadastra/softadastra |
| 147 | + |
| 148 | +### PulseGrid |
| 149 | + |
| 150 | +Real-time service monitoring built with Vix.cpp. |
| 151 | + |
| 152 | +https://github.com/softadastra/PulseGrid |
| 153 | + |
| 154 | +### Vix Game |
125 | 155 |
|
126 | | ---- |
| 156 | +Game-oriented project built on the Vix.cpp runtime foundation. |
127 | 157 |
|
128 | | -## Documentation |
| 158 | +https://github.com/vixcpp/vix-game |
129 | 159 |
|
130 | | -- [Introduction](docs/introduction.md) |
131 | | -- [Quick Start](docs/quick-start.md) |
132 | | -- [Architecture & Modules](docs/architecture.md) |
133 | | -- [ORM Overview](docs/orm/overview.md) |
134 | | -- [Benchmarks](docs/benchmarks.md) |
135 | | -- [Examples](docs/examples/overview.md) |
136 | | -- [Build & Installation](docs/build.md) |
137 | | -- [CLI Options](docs/options.md) |
138 | | -- [CLI Reference](docs/vix-cli-help.md) |
| 160 | +## Links |
139 | 161 |
|
140 | | -## Module Documentation Index |
| 162 | +- Documentation: https://docs.vixcpp.com |
| 163 | +- Registry: https://registry.vixcpp.com |
| 164 | +- Engineering notes: https://blog.vixcpp.com |
| 165 | +- Website: https://vixcpp.com |
141 | 166 |
|
142 | | -- **Core** : [docs/modules/core.md](docs/modules/core.md) |
143 | | -- **WebSocket** : [docs/modules/websocket.md](docs/modules/websocket.md) |
144 | | -- **ORM** : [docs/modules/orm.md](docs/modules/orm.md) |
145 | | -- **JSON** : [docs/modules/json.md](docs/modules/json.md) |
146 | | -- **Utils** : [docs/modules/utils.md](docs/modules/utils.md) |
147 | | -- **CLI** : [docs/modules/cli.md](docs/modules/cli.md) |
| 167 | +## Contributing |
148 | 168 |
|
149 | | ---- |
| 169 | +Contributions are welcome. |
150 | 170 |
|
151 | | -## ⭐ Support the project |
| 171 | +Read the contribution guide: |
152 | 172 |
|
153 | | -If you believe in modern C++ tooling, offline-first systems, and native performance, |
154 | | -please consider starring the repository. |
| 173 | +https://docs.vixcpp.com/contributing |
155 | 174 |
|
156 | | -MIT License |
| 175 | +## License |
157 | 176 |
|
| 177 | +MIT License. |
0 commit comments