WeWeb and Luna Park both generate Vue.js code. WeWeb builds the frontend and plugs into a backend: its own since 2026, or Xano, Supabase, Airtable. Luna Park builds the frontend, the backend, and the PostgreSQL database in one project, and exports all of it.

- **Complete export.** Frontend and backend as Vue and Node.js.
- **Full stack.** Frontend, backend, and database in one project.
- **Compiled logic.** Every node compiles to plain JavaScript.

![Sunset Park in the Luna Park editor](https://luna-park.app/static/assets/builder-DAXbtfYB.png "Sunset Park, a demo site built with Luna Park.")


## At a glance

Both generate Vue code. The main differences: backend, code export, and hosting.

| | Luna Park | WeWeb |
|---|---|---|
| **Logic** | Visual scripting graphs, front and back, compiled to JavaScript | Workflows and formulas, run by WeWeb's engine |
| **Backend** | Routes, crons, PostgreSQL | WeWeb backend, Xano, Supabase, or any API |
| **Database access** | Direct, from routes on the same server | Through the backend's HTTP API |
| **Code export** | [+Frontend and backend] (Pro) | [~Frontend only] ([paid plans](https://docs.weweb.io/settings-billing-code-export/pricing.html)) |
| **Hosting** | [+Anywhere] Managed hosting in late 2026 | [~WeWeb Cloud] Or self-hosted frontend |
| **Pricing** | Free, or Pro at €25/month or €300 once | Seats + hosting plan per app ([source](https://docs.weweb.io/settings-billing-code-export/pricing.html)) |
| **Platforms** | [=Web] [=PWA] [=Desktop] [=Android] [=iOS] | [=Web] [=PWA] |

## Example: a waitlist form

Visitors enter their name, email, and favorite ride, and get a ticket number.

::: columns
### Luna Park

1. Place the fields and a button, each field bound to a variable.
2. On click, a graph sends the variables to a backend route and shows the ticket.
3. The route inserts a row in the `Waitlist` table and returns its id.

---

### WeWeb

1. Place the inputs and the button, bound to variables.
2. Create the table in WeWeb's backend, Supabase, or Xano.
3. Add a workflow on click that calls the backend's insert action.
:::

::: gallery
![The click logic of the waitlist form](https://luna-park.app/static/assets/logic-C66duI84.png "On click: read the fields, call the route, show the ticket.")

![The Join Waitlist backend route](https://luna-park.app/static/assets/route-DQo3hM8a.png "The route: receive the body, insert a row, return its id.")
:::

## Code export

WeWeb exports the frontend, where workflows still run on WeWeb's engine. Luna Park compiles the logic itself, front and back, and exports the whole application, ready for Node.js and PostgreSQL, or Docker.

![The waitlist component compiled to Vue](https://luna-park.app/static/assets/code-BUYWx0sG.png "The waitlist, compiled to Vue and TypeScript.")

## Other differences

- **One tool.** With Xano or Supabase, tables and access rules live in a second tool. In Luna Park, interface, routes, and tables share one project and one logic language.
- **Queries.** Each Supabase or Xano query is a network round trip. A Luna Park route runs next to PostgreSQL, with joins, aggregates, and [transactions](/docs/backend-data/database#specialized-nodes).
- **Costs.** On WeWeb Cloud, each app needs its own hosting plan. One Luna Park license covers all projects.
- **App map.** One view shows which pages render which components, call which routes, and write which tables.

![The app map of Sunset Park](https://luna-park.app/static/assets/map-BKfoCy_I.png "The Waitlist section calls the Join Waitlist route, which writes to the Waitlist table.")

## Which one to choose?

::: columns
### Luna Park

- You want one tool for the frontend and the backend.
- You want the code of the whole application.
- You need desktop or mobile apps.

---

### WeWeb

- You already have a backend to keep.
- Design speed comes first.
- You want managed hosting today.
:::

## Before switching

- WeWeb has more ready-made design. Luna Park relies on [design tokens](/docs/styling/overview#design-tokens) and UI libraries such as [Nuxt UI](/docs/integrations/plugins#official-plugins).
- Until [managed hosting](/pricing) launches in late 2026, you [host the backend](/docs/deployment/deployment).

## From WeWeb to Luna Park

| WeWeb | Luna Park |
|---|---|
| Page, component | [Page, component](/docs/interface/components) |
| Variable | [Variable](/docs/logic/variables), or [Store](/docs/logic/store) |
| Formula | [Computed variable](/docs/logic/variables#computed-variables) |
| Workflow | Logic graph |
| Global workflow | [Function](/docs/logic/scripts) |
| Collection | [Route](/docs/backend-data/routes) |
| Backend table | [Database](/docs/backend-data/database) table |
| Custom coded component | [Plugin](/docs/plugins/introduction) component |

::: info
Based on WeWeb as of October 2026. See [weweb.io](https://www.weweb.io) for current features and prices.
:::
