What is Cardstack?
Cardstack provides a full-stack development environment, meaning that it spans everything from the front-end browser experience, to API layers, to the database and caching. Under the hood, it makes use of other libraries such as Node, Ember.js, and postgres, but someone does not need to know those tools in order to build something of their own using Cardstack.
Why use Cardstack?
To understand what Cardstack can do, and why we think of it as the next generation web experience, it is helpful to first take a look at the status quo for the web.
Most serious applications have to tie together many different data sources into a unified experience, and it is a struggle. A traditional web app focuses first on what goes inside a widget, and adds nonstandard code around the edges to patch everything together. There's major friction between the front end, back end, database, and third party APIs. Once you string it all together, and try to make changes, everything breaks.
With Cardstack, you only define the schema once, and the Hub will take care of indexing, serving JSON to the front end, and generating the ember data models. Everything stays in sync.
The features focus on streamlining interoperability, whether between Cards, data sources, or even syncing data across decentralized systems. Its plugin system, runtime codegens, API scheme, and caching system let you connect with APIs in a way that is flexible and scalable.
About these Guides
These Guides provide an overview of the essential features of Cardstack. The Card SDK is aimed at developers, and the Principles section is for all audiences interested in the Cardstack ecosystem, vision, and philosophy.
As an Open Source project, Cardstack welcomes participation from the community!
To edit this documentation, click the pencil icon at the top right of every page.