# Portable by design: a Cordango app is a definition you own

> A Cordango app is one portable definition, not a codebase locked in a platform. Run it on Cordango, or build it into a conventional ASP.NET Core and Vue application you own outright. Format, compiler and CLI are Apache-2.0.

Source: https://www.cordango.com/portable/
Language: en

PORTABLE BY DESIGN

# Run it here. Or take it with you.

A Cordango app is not meant to be trapped inside Cordango. It is a definition, one portable file, and that file has two destinations: the platform, where it runs with your people and permissions, or a conventional application you build from it and own outright.

[The open toolchain on GitHub →](https://github.com/cordango/cordango) [What it cannot do yet →](https://www.cordango.com/portable/#honest)

cordango build Standalone

\# one definition, two destinations > cordango build --target standalone reads expenses.cord → entities · rules · screens · roles writes Api/ → asp.net core · ef core · migrations writes Web/ → vue · vuetify · the screens you designed writes Dockerfile → compose up, and it runs ✓ yours no licence server · no account · no phone home

## A definition, not a codebase.

A Cordango application is a definition rather than a codebase. One portable file holding the data model and its relationships, the business logic, the workflows, the screens, the roles and the permissions. Your company records are not in it. Those stay yours and stay where they are.

That is the duller and more important half of portability. Because the app is a document, it can be exported, reviewed, versioned and installed somewhere else without losing anything, and it is never trapped inside whoever built it.

-   IN The whole application, not a starting point
-   OUT Your records are never part of the file
-   READ A definition a person can review before it goes live
-   MOVE Export, version, install elsewhere, without a rewrite

[What is in an App Definition →](https://www.cordango.com/app-definition/)

The definition expenses.cord

\# expenses.cord · what is inside ✔ data model entities · fields · relationships ✔ screens pages · views · forms ✔ behaviour workflows · validations · calculations ✔ roles who may do what ✗ your records never in the file · they stay where they are

## Build it into software you own.

`cordango build` turns the same definition into a conventional application: ASP.NET Core and EF Core on the back, Vue on the front, a Dockerfile and migrations you can read, and no dependency on us. Delete the toolchain afterwards and it still builds.

There is no licence server, no account and no phone home in what it writes. It is your code from the moment it exists, which is what portability has to mean if the word is going to mean anything.

-   API ASP.NET Core and EF Core, with migrations you can read
-   WEB Vue and Vuetify, the screens you designed
-   RUN A Dockerfile, so compose up is the whole deployment
-   OWN No dependency on Cordango once it is built

[The CLI reference →](https://docs.cordango.com)

cordango build Standalone

\# one definition, two destinations > cordango build --target standalone reads expenses.cord → entities · rules · screens · roles writes Api/ → asp.net core · ef core · migrations writes Web/ → vue · vuetify · the screens you designed writes Dockerfile → compose up, and it runs ✓ yours no licence server · no account · no phone home

## What open means here, exactly.

The line is drawn by job, not by feature. Everything you need to write an application and check it is open. The platform that runs it for you is not.

FORMAT 

#### The definition format

Apache-2.0. The file you own is described by a schema you can read, fork and validate against.

COMPILER 

#### The compiler

Apache-2.0. The same compiler the platform uses, so what checks on your laptop is what runs on Cordango.

CLI 

#### The command line tool

Apache-2.0. `cordango check` runs with no account and no connection.

GEN 

#### The standalone generator

Apache-2.0. The part that writes the ASP.NET Core and Vue application from the definition.

PLATFORM 

#### The platform

Not open source. The hosted runtime, the shared company model and the governance are the product. We would rather write that here than let it be inferred.

HONEST 

#### So, is Cordango open source?

Calling it that would be a stretch. Open toolchain, proprietary platform, and the boundary is deliberate.

## What the generator cannot do yet.

The generator refuses to build rather than quietly shipping less than your definition asked for. Workflows, computed fields and command guards are still on that refusal list today. An app that uses them runs on Cordango and does not yet build standalone.

We say that here because a portability promise with a footnote nobody reads is worse than none. The roadmap tracks each item, and the boundary moves as they land.

-   RUNS Everything in a definition runs on the platform today
-   BUILDS Data model, screens, roles and validations build standalone today
-   NOT YET Workflows, computed fields, command guards

[Where each item stands →](https://www.cordango.com/roadmap/)

What it refuses Today

\# the generator refuses rather than ships less > cordango build --target standalone ✗ workflows not yet in the standalone target ✗ computed fields not yet ✗ command guards not yet \# everything else builds. the roadmap says when the rest lands

## A definition that travels is a library.

ECOSYSTEM 

### Apps from people who do the work

Ready-made apps from operators, consultants and other Cordango companies. Somebody who runs a haulage firm has thought harder about your delivery workflow than a product manager ever will, and a portable definition is what lets them hand it over.

[The App Library →](https://www.cordango.com/templates/)

ONE BILL 

### One price, no separate subscriptions

Creators do not set prices or sell their own plans, so you never assemble a bill out of eleven vendors. Cordango rewards them when other companies genuinely use what they built.

MORE

## Further reading

-   [**App Definition** How the app works: domain, data, experience, logic and access](https://www.cordango.com/app-definition/)
-   [**App Contract** What the app offers: purpose, events, actions, queries and dependencies](https://www.cordango.com/app-contract/)
-   [**Governance built in** Identity, permissions and audit included](https://www.cordango.com/security/)
-   [**Platform foundation** The company foundation underneath every app](https://www.cordango.com/platform/)
-   [**Sample apps** Explore real apps you can install and make yours](https://www.cordango.com/templates/)
-   [**Roadmap** What we have built, and what comes next](https://www.cordango.com/roadmap/)

NEXT

## Build one app. Keep the file.

Watch an app get generated in the demo, then take the definition home and run cordango check on it yourself.

[Book a demo →](https://www.cordango.com/contact/) [GitHub →](https://github.com/cordango/cordango)
