---
url: /docs/getting-started/comparison/bubble.md
description: >-
  Looking for a Bubble alternative? Compare Luna Park and Bubble: code export,
  hosting, pricing model, logic, backend, and mobile apps.
---

# Luna Park vs Bubble

Looking for a **Bubble alternative** with code export? Luna Park is a visual editor that builds the interface, the logic, and the backend of your app, and compiles it into a standard Vue and Node.js application that you own and host where you want.

Bubble is the most established full-stack no-code platform. Like Luna Park, it lets you build the interface, the logic, and the data of an application without writing code. The two tools differ mostly in **what you get at the end**: Bubble runs your app on its own platform, while Luna Park generates a standard application that you own.

## At a glance

### Building

| | Luna Park | Bubble |
|---|---|---|
| **Interface** | Component tree, CSS-based styling, design tokens | Visual canvas with responsive layout engine |
| **Logic** | Visual scripting graphs | Workflows (event + list of actions) |
| **Execution** | Compiled to JavaScript and Vue | Interpreted by Bubble's engine |
| **Extensibility** | npm packages, TypeScript functions, plugins | Plugin marketplace, custom JavaScript |
| **AI** | Sidekick, external agents through MCP | AI app generation and assistant |

### Data and backend

| | Luna Park | Bubble |
|---|---|---|
| **Database** | PostgreSQL | Built-in Bubble database |
| **Queries** | Joins, aggregates, grouping, transactions | Searches with constraints and filters |
| **Backend logic** | Routes, crons, backend scripts | Backend workflows, scheduled workflows |
| **Data security** | Route guards, roles and permissions | Privacy rules on each data type |
| **Authentication** | Users plugin (sessions, roles, OAuth2) | Built-in, OAuth through plugins |

### Ownership and costs

| | Luna Park | Bubble |
|---|---|---|
| **Code export** | Readable Vue + Node.js code | No ([source](https://manual.bubble.io/account-and-marketplace/application-and-data-ownership)) |
| **Hosting** | Anywhere | Bubble's infrastructure only |
| **Pricing model** | Fixed subscription | Plan + usage ([workload units](https://manual.bubble.io/help-guides/workload/understanding-workload)) |
| **Platforms** | Web (single-page app, PWA), desktop (Windows, macOS, Linux), mobile (Android, iOS) | Web, mobile (Android, iOS) |
| **Ecosystem** | Young, growing community | Very large community, agencies, templates |

::: info
This comparison reflects our understanding of Bubble as of October 2026. Bubble evolves fast: check [bubble.io](https://bubble.io) for its current features and prices.
:::

## Where Bubble is stronger

* **Fully managed**: hosting, database, scaling, backups, and security updates are handled for you. You never touch a server.
* **Maturity and ecosystem**: Bubble has been around for over a decade. You will find thousands of plugins and templates, many tutorials, and agencies to hire.
* **Getting started**: the first screens and workflows come quickly, and the event + actions model is easy to grasp for simple apps.

## Where Luna Park is stronger

### You own your application

According to [Bubble's documentation](https://manual.bubble.io/account-and-marketplace/application-and-data-ownership), Bubble apps can only run on the Bubble platform and cannot be exported as code: if you leave, you rebuild the logic. Luna Park [compiles](../../deployment/compilation) your project into a standard Vue frontend and a Node.js backend (Fastify and PostgreSQL). You can download the readable source code, host it where you want, and hand it to a development team if your project outgrows no-code.

### Predictable costs

Bubble bills part of its plans on [**workload units**](https://manual.bubble.io/help-guides/workload/understanding-workload), which measure the server activity of your app: database queries, workflows, API calls, file uploads. Usage beyond your plan's allowance is billed separately (see [Bubble's pricing](https://bubble.io/pricing)), so the cost follows your traffic and how your workflows are built. With Luna Park, you pay a fixed subscription for the editor. Your app runs on your own server, at the price of that server, however many users you have.

### Compiled code you can host

Bubble applications run on Bubble's managed infrastructure, executed by the Bubble platform. Luna Park is a **compiler**: each node of a graph becomes a line of JavaScript, and each component becomes a regular Vue component. The result is a conventional Vue and Node.js application, with no Luna Park runtime, that you can host, profile, and optimize like any other web app.

### Logic without limits

Bubble workflows are a list of actions triggered by an event. Complex logic (nested loops, data transformations, algorithms) is usually handled with backend workflows, plugins, or custom JavaScript. Luna Park's [visual scripting](../../fundamentals/logic/visual-scripting/introduction) covers what code can do: loops, conditions, functions, typed data, async calls, and the functions of any [npm package](../../integrations/npm), each available as a node.

### A real SQL database

Luna Park's [database](../../fundamentals/data/database) is PostgreSQL, in the editor and in production. Bubble searches filter one data type at a time: combining data often means chaining searches or storing lists of references. In Luna Park, a single query can join tables, group rows, and compute counts, sums, or averages, and a [transaction](../../fundamentals/data/database#specialized-nodes) saves several changes at once or none at all. You can preview the SQL of any query.

In production, your data sits in your own PostgreSQL database, which any standard tool can read.

### Every platform from the same project

From a single project, Luna Park exports a standard single-page web app, a PWA that users install from their browser, and, with the [desktop app](../desktop-app), native apps for Windows, macOS, Linux ([desktop](../../deployment/desktop)), Android, and iOS ([mobile](../../deployment/mobile)). Bubble's [native mobile editor](https://manual.bubble.io/help-guides/getting-started/building-for.../native-ios-and-android) targets Android and iOS, with mobile screens built separately from the web pages.

## Things to know before switching

* **You host the backend.** Luna Park can deploy your frontend for testing, but routes, database, and crons run on your own server (see [Self-hosting](../../deployment/deployment)). It is standard Node.js and PostgreSQL, but it is one more thing to manage.
* **The learning curve is similar.** Luna Park requires about the same understanding of logic and data as Bubble (see [Is Luna Park right for me?](../target-users)). Visual scripting graphs take a bit longer to learn than workflows, and pay off on complex logic.
* **The ecosystem is smaller.** Fewer templates and plugins exist today. [npm packages](../../integrations/npm) fill many gaps, and you can [write your own plugins](../../plugins/introduction).

## From Bubble concepts to Luna Park

| Bubble | Luna Park |
|---|---|
| Page | [Page](../../fundamentals/interface/components#pages) |
| Reusable element | [Component](../../fundamentals/interface/components) |
| Custom state | [Variable](../../fundamentals/logic/variables) |
| Workflow | Logic graph of a component |
| Backend workflow (API workflow) | [Route](../../fundamentals/data/routes) |
| Recurring / scheduled workflow | [Cron](../../fundamentals/data/cron) |
| Data type | [Database](../../fundamentals/data/database) table, or [Type](../../fundamentals/logic/scripts#type-files) |
| Option set | [Configuration](../../fundamentals/logic/scripts#configuration-files) file |
| Privacy rules | Route [guards](../../fundamentals/data/auth#protect-routes) and checks in backend logic |
| API Connector | `Fetch` node |
| Plugin | [Plugin](../../integrations/plugins) or [npm package](../../integrations/npm) |
| Styles | [Design tokens](../../fundamentals/interface/styling#design-tokens) |

## Which one to choose?

**Choose Bubble** if you want to launch quickly without ever thinking about servers, if your logic stays simple, and if being tied to one platform is acceptable for your project.

**Choose Luna Park** if you are building a product meant to last and grow: you keep the code, control your costs, run standard compiled code, and can go as deep as your logic requires.
