Your frontend
Use React, Vue, Svelte, SvelteKit, Solid, Preact, Lit, Angular, Nuxt, Vanilla, or an existing Vite application.
npx @dotcarbon/create-app my-carbon-apppnpm dlx @dotcarbon/create-app my-carbon-appyarn dlx @dotcarbon/create-app my-carbon-appbunx @dotcarbon/create-app my-carbon-appcd my-carbon-appcarbon devYour frontend
Use React, Vue, Svelte, SvelteKit, Solid, Preact, Lit, Angular, Nuxt, Vanilla, or an existing Vite application.
The .NET ecosystem
Write commands and services in C#. Use ordinary NuGet packages without a Carbon-specific wrapper.
Typed bridge
Source-generated C# handlers and generated TypeScript declarations keep IPC calls checked end to end.
Native webviews
Carbon uses the operating system webview rather than shipping a browser engine with every app.
Capabilities
Assign command permissions to labeled windows and keep privileged plugins explicitly scoped.
Production bundler
Produce desktop installers, mobile packages, signed updater metadata, icons, and platform resources.
Your frontend invokes a named command. Carbon dispatches it to generated C# code, serializes the result, and resolves the frontend promise. The same backend assembly can be referenced by desktop, Android, and iOS hosts.
public partial class AppCommands : IPlugin{ public string Namespace => "app";
[CarbonCommand("greet")] public string Greet(GreetRequest request) => $"Hello, {request.Name}!";}import { invoke } from '@dotcarbon/api'
const message = await invoke('app:greet', { name: 'John Doe' })Continue with Create a project, or read the architecture overview to see how the hosts, runtime, bridge, and bundler fit together.