Project Status
Platforms and Frameworks
- React, React Native, and SolidJS are fully-supported
- Svelte and Vue have community support
- We have strong support for TanStack
Databases
- Most Postgres providers are supported
- Drizzle and Prisma have high-quality community-supported integrations
API
- The API is in rapid development. We are deprecating the original "CRUD" mutators and ad-hoc queries and replacing them with the more flexible custom mutators and synced queries. Because documentation for both sets of features still exist, the docs are more complex than ideal.
- Also the new APIs are still being refined and have some rough edges.
Query Language
- Filters, sorts, limits, relationships, and
existsare supported. - Queries can have
ttlto keep data synced across sessions. - Aggregates (count, min, max, group-by) are not yet supported.
- Full-text search is not yet supported (you can sometimes simulate with
ILIKE, though it scales linearly). - Infinite/virtual scroll is possible, but we do not yet have a library/API for it. See zbugs source for how to do this.
Performance
- Zero plans single-table queries (choosing the right index, etc) by delegating to SQLite and this works well. Zero does not currently auto-plan joins. You can manually plan them using the
flipparameter. - Zero has a basic console-based inspector that can help to understand query and sync performance. It does not yet have a GUI inspector.
- We share queries within a "client group" (e.g. all tabs in a browser), but not across groups. This means that if you have many users doing the same query, they will duplicate all that work server-side.
Miscellaneous
- Running Zero requires deploying it yourself to AWS or similar. Running in a multinode, zero-downtime way is possible (we do it for zbugs), but significant effort. Running single node is easier, but updating the server takes it down for a minute or so (we are working on a SaaS solution).