Skip to content

Vue frontend with a Vix C++ backend ​

C++ is usually seen as a systems language. That is true, but it does not mean C++ should stay far away from modern web development workflows. With Vix.cpp v2.6.0, we started experimenting with a full-stack development workflow where a Vue frontend can run next to a Vix-powered C++ backend. The idea is simple:

txt
Vue frontend
Vix C++ backend
One development workflow

The problem ​

Modern frontend developers already have a strong workflow. They use tools like Vue, Vite, hot reload, browser devtools, and fast feedback loops. C++ developers often have something very different:

txt
CMake
manual setup
build directories
compiler flags
runtime configuration

Both worlds are powerful, but they are usually separated. Vix is trying to reduce that gap.

The new workflow ​

A Vue + Vix project can be created with:

bash
vix new shop --template vue

This generates a project with:

txt
src/main.cpp          Vix C++ backend
frontend/             Vue frontend
frontend/src/App.vue  Vue application
vix.app               Vix application manifest
vix.json              project metadata and tasks

Then development starts with:

bash
vix dev

In this mode, Vix starts the backend and the Vue/Vite frontend together. The frontend runs with Vite. The backend runs with Vix. The API stays powered by C++.

Why Vue? ​

Vue is simple, progressive, and approachable. That matters because the goal is not to force frontend developers to abandon what they already know. The goal is to give them a path into C++ without destroying their existing frontend experience. A developer can keep writing Vue components while using Vix for backend APIs, performance-sensitive logic, local-first systems, networking, storage, or runtime features.

Why not put this in vix run? ​

vix run should stay focused. It runs the Vix application or target. For a full development environment, the right command is:

bash
vix dev

That keeps the mental model clean:

txt
vix run    run the Vix app
vix dev    run the development environment
vix build  build the project

So for Vue + Vix projects:

txt
vix run
  runs the Vix backend

vix dev
  runs the Vix backend and Vue frontend

vix build
  builds the application

API proxy ​

During development, the Vue frontend can call:

txt
/api/*

Vite proxies those requests to the Vix backend:

txt
http://localhost:8080

So frontend code can stay simple:

js
const response = await fetch("/api/hello");
const data = await response.json();

The browser talks to Vue. Vue talks to /api. Vix handles the backend.

What this means for Vix.cpp ​

This is not about replacing Vue. This is not about replacing Vite. This is about making Vix a better bridge between modern frontend workflows and C++ backend development. The long-term direction is clear:

txt
Keep the frontend experience developers love.
Bring C++ closer to application development.
Make the workflow simple enough to try in minutes.

Vix.cpp v2.6.0 is a step in that direction.

Last updated: