Skip to content

Commit 18a71bd

Browse files
committed
home: add install section
1 parent 996fe43 commit 18a71bd

File tree

2 files changed

+772
-181
lines changed

2 files changed

+772
-181
lines changed

vix-site/src/data/home.js

Lines changed: 164 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export const HOME = {
22
hero: {
33
title: "Offline-first C++ runtime.",
44
subtitle:
5-
"A modern C++ runtime and serious alternative to Node.js, Deno, and Bun, designed for unreliable networks and native performance.",
5+
"Build backend, realtime, and peer-to-peer systems that keep working even when the network doesn’t.",
66
ctas: [
77
{ label: "Install", to: "/install", kind: "primary" },
88
{
@@ -14,45 +14,31 @@ export const HOME = {
1414
],
1515
badges: [],
1616
support: {
17-
title: "Production ready",
18-
meta: ["Native C++ binaries", "MIT licensed"],
17+
title: "Built for serious systems",
18+
meta: [
19+
"Native C++ binaries",
20+
"Offline-first architecture",
21+
"MIT licensed",
22+
],
1923
},
2024
examples: [
2125
{
22-
key: "http",
23-
label: "HTTP",
26+
key: "async",
27+
label: "Async",
2428
lang: "cpp",
25-
file: "server.cpp",
26-
code: `#include <vix.hpp>
29+
file: "async.cpp",
30+
code: `#include <vix/async.hpp>
2731
using namespace vix;
2832
29-
int main()
33+
task<void> main_task()
3034
{
31-
App app;
32-
33-
app.get("/", [](Request&, Response& res){
34-
res.send("Hello");
35-
});
36-
37-
app.run(8080);
38-
}`,
39-
},
40-
{
41-
key: "ws",
42-
label: "WebSocket",
43-
lang: "cpp",
44-
file: "ws.cpp",
45-
code: `#include <vix/websocket.hpp>
35+
co_await sleep_for(50ms);
36+
co_return;
37+
}
4638
4739
int main()
4840
{
49-
vix::websocket::Server ws;
50-
51-
ws.on_text([](auto&, std::string_view msg){
52-
// echo
53-
});
54-
55-
ws.listen_blocking(9090);
41+
async::run(main_task());
5642
}`,
5743
},
5844
{
@@ -72,22 +58,40 @@ int main()
7258
}`,
7359
},
7460
{
75-
key: "async",
76-
label: "Async",
61+
key: "ws",
62+
label: "WebSocket",
7763
lang: "cpp",
78-
file: "async.cpp",
79-
code: `#include <vix/async.hpp>
80-
using namespace vix;
64+
file: "ws.cpp",
65+
code: `#include <vix/websocket.hpp>
8166
82-
task<void> main_task()
67+
int main()
8368
{
84-
co_await sleep_for(50ms);
85-
co_return;
86-
}
69+
vix::websocket::Server ws;
70+
71+
ws.on_text([](auto&, std::string_view msg) {
72+
// realtime messaging
73+
});
74+
75+
ws.listen_blocking(9090);
76+
}`,
77+
},
78+
{
79+
key: "http",
80+
label: "HTTP",
81+
lang: "cpp",
82+
file: "server.cpp",
83+
code: `#include <vix.hpp>
84+
using namespace vix;
8785
8886
int main()
8987
{
90-
async::run(main_task());
88+
App app;
89+
90+
app.get("/", [](Request&, Response& res) {
91+
res.send("Hello");
92+
});
93+
94+
app.run(8080);
9195
}`,
9296
},
9397
{
@@ -96,19 +100,105 @@ int main()
96100
lang: "shell",
97101
file: "",
98102
code: `~$ vix run server.cpp
99-
● Vix.cpp READY v1.21.1
103+
● Vix.cpp READY
100104
101105
› HTTP: http://localhost:8080/
102-
i Hint: Ctrl+C to stop`,
106+
i Hint: Ctrl+C to stop`,
107+
},
108+
],
109+
},
110+
111+
install: {
112+
title: "Install Vix.cpp",
113+
version: "1.47.0",
114+
note: "Latest release",
115+
commands: {
116+
unix: "curl -fsSL https://vixcpp.com/install.sh | bash",
117+
windows: "irm https://vixcpp.com/install.ps1 | iex",
118+
},
119+
},
120+
121+
mission: {
122+
title: "Most runtimes assume perfect networks.",
123+
subtitle:
124+
"In reality, connections drop, latency spikes, and systems break. Yet most tools are built as if everything is always online and stable.",
125+
items: [
126+
{
127+
title: "The problem",
128+
text: "A simple network glitch can break requests, lose data, or stop systems entirely.",
129+
},
130+
{
131+
title: "What’s wrong today",
132+
text: "Most runtimes depend on constant connectivity and push complexity to developers.",
133+
},
134+
{
135+
title: "What Vix changes",
136+
text: "Vix is designed for unreliable networks. Your system keeps running, even when the network doesn’t.",
137+
},
138+
],
139+
},
140+
141+
useCases: {
142+
title: "What you can build with Vix",
143+
subtitle:
144+
"Vix is not limited to web servers. It is designed for systems that need performance, resilience, and control.",
145+
items: [
146+
{
147+
title: "Backend APIs",
148+
text: "Build fast native APIs and services with a modern C++ runtime.",
149+
},
150+
{
151+
title: "Realtime systems",
152+
text: "Run websocket, messaging, and event-driven services with low overhead.",
153+
},
154+
{
155+
title: "Peer-to-peer apps",
156+
text: "Build direct node-to-node systems for local-first and distributed architectures.",
157+
},
158+
{
159+
title: "Edge workloads",
160+
text: "Run services closer to users where connectivity and latency are unpredictable.",
161+
},
162+
{
163+
title: "Offline-first tools",
164+
text: "Create systems that continue to work even when the network is unstable.",
165+
},
166+
{
167+
title: "Developer tooling",
168+
text: "Ship native command line tools, scripts, and runtime-powered workflows.",
169+
},
170+
],
171+
},
172+
173+
principles: {
174+
title: "Built with different assumptions",
175+
subtitle:
176+
"Vix is designed around how systems behave in the real world, not in perfect lab conditions.",
177+
items: [
178+
{
179+
title: "Offline-first",
180+
text: "The network should not be a hard dependency for useful work.",
181+
},
182+
{
183+
title: "Native performance",
184+
text: "C++ gives direct control over performance, memory, and execution.",
185+
},
186+
{
187+
title: "Incremental adoption",
188+
text: "Use one tool or adopt more of the stack as your needs grow.",
189+
},
190+
{
191+
title: "Beyond web",
192+
text: "HTTP is supported, but Vix is designed for more than just web servers.",
103193
},
104194
],
105195
},
106196

107197
registry: {
108-
title: "Registry built for unreliable networks",
198+
title: "A registry designed for unstable connectivity",
109199
subtitle:
110-
"Sync once, search locally, and pin dependencies with vix.lock. The registry is designed for offline-first workflows.",
111-
note: "Local search works even when your connection is unstable.",
200+
"Sync once, search locally, pin dependencies with vix.lock, and keep working even when your connection is unreliable.",
201+
note: "The registry supports offline-first development workflows, not just package installation.",
112202
ctas: [
113203
{ label: "Registry docs", to: "/registry", kind: "primary" },
114204
{
@@ -120,18 +210,17 @@ i Hint: Ctrl+C to stop`,
120210
preview: {
121211
title: "registry",
122212
code: `$ vix registry sync
123-
$ vix search oauth2
124-
$ vix add @gk/oauth2
125-
$ vix deps
213+
$ vix search jwt
214+
$ vix add @gk/jwt
215+
$ vix install
126216
$ cat vix.lock`,
127217
},
128218
},
129219

130220
signals: {
131221
title: "Open-source project signals",
132222
subtitle:
133-
"Vix.cpp is an open-source project developed in the open.\n" +
134-
"These signals reflect real community activity and ongoing maintenance.",
223+
"Vix.cpp is developed in the open. These signals reflect real usage, active maintenance, and a growing ecosystem.",
135224
items: [
136225
{
137226
title: "Stars",
@@ -149,22 +238,22 @@ $ cat vix.lock`,
149238
title: "Open issues",
150239
kind: "github",
151240
field: "open_issues",
152-
meta: ["Active issues"],
241+
meta: ["Active engineering feedback"],
153242
},
154243
],
155244
},
156245

157246
batteries: {
158-
title: "Batteries included",
247+
title: "Runtime, tooling, and workflow included",
159248
subtitle:
160-
"Vix ships a complete CLI workflow to create, build, develop, package, and verify C++ backend projects.",
249+
"Vix ships the core pieces needed to build, run, iterate, package, and verify serious C++ applications.",
161250
items: [
162251
{
163-
title: "Project workflow",
164-
text: "Create projects and iterate fast with dev mode and one-command runs.",
252+
title: "Fast project workflow",
253+
text: "Create projects, run them instantly, and iterate with dev mode.",
165254
href: "/docs/modules/cli/new",
166255
preview: {
167-
title: "project",
256+
title: "workflow",
168257
lines: [
169258
"$ vix new api",
170259
"$ cd api && vix dev",
@@ -173,47 +262,48 @@ $ cat vix.lock`,
173262
},
174263
},
175264
{
176-
title: "Packaging & verification",
177-
text: "Package builds and verify artifacts with a security-focused workflow.",
178-
href: "/docs/modules/cli/pack",
179-
preview: {
180-
title: "pack + verify",
181-
lines: ["$ vix pack --version 1.0.0", "$ vix verify"],
182-
},
183-
},
184-
{
185-
title: "Modules system",
186-
text: "Opt-in modules to keep projects minimal and explicit.",
265+
title: "Realtime and network modules",
266+
text: "Use modules for websocket, transport, and peer-to-peer capabilities when your application grows beyond plain HTTP.",
187267
href: "/docs/modules/cli/modules",
188268
preview: {
189269
title: "modules",
190270
lines: ["$ vix modules init", "$ vix modules add websocket"],
191271
},
192272
},
193273
{
194-
title: "Offline registry",
195-
text: "Sync once, search locally, and pin dependencies via vix.lock.",
274+
title: "Offline dependency workflows",
275+
text: "Sync dependencies once, lock them, and keep building even in unstable environments.",
196276
href: "/docs/modules/cli/registry",
197277
preview: {
198278
title: "registry",
199279
lines: [
200280
"$ vix registry sync",
201-
"$ vix search web_app",
202-
"$ vix add @vix/web_app",
203-
"$ vix deps",
281+
"$ vix search pdf",
282+
"$ vix add @gk/pdf",
283+
"$ vix install",
204284
],
205285
},
206286
},
287+
{
288+
title: "Packaging and verification",
289+
text: "Package artifacts and verify what you ship with a security-focused workflow.",
290+
href: "/docs/modules/cli/pack",
291+
preview: {
292+
title: "pack + verify",
293+
lines: ["$ vix pack --version 1.0.0", "$ vix verify"],
294+
},
295+
},
207296
],
208297
},
209298

210299
getStarted: {
211300
title: "Get started in under a minute",
212-
subtitle: "Create a project, start dev mode, and iterate with hot-reload.",
301+
subtitle:
302+
"Create a project, start dev mode, and begin building native backend or realtime services with Vix.",
213303
code: `vix new api
214304
cd api
215305
vix dev`,
216-
note: "Start with dev hot-reload, then switch to run or package when ready.",
306+
note: "Start with dev mode, then move to run, package, and deploy as your project grows.",
217307
ctas: [
218308
{ label: "Install Vix.cpp", to: "/install", kind: "primary" },
219309
{

0 commit comments

Comments
 (0)