One Logo Pool Ball

System

Data

Handling state and data with One

As of today Zero is not yet in public beta, so One does not include it by default. We expect Zero to be released soon.

One aims to make building high quality experiences across web and native as simple as possible. To do that, we've taken the position of including just a few batteries.

We think a modern frontend framework should make dealing with data a delight, and we're excited to partner with Zero to include it as the default, ejectable, way to handle data in One.

Rationale

Whether it was the move from assembly to C, or C to Java/Ruby/JavaScript, JS to jQuery, jQuery to Backbone... tools that make developers more effective with higher level code - without sacrificing UX - win.

We think that local-first is clearly this progression for client-side data.

There's many that do this, or have tried - React Query, Firebase, Meteor, RethinkDB, PouchDB, gqty, TinyBase, etc - why choose Zero?

Zero pulls off all of the following at once:

  • Small client bundle size
  • Smart sync that only fetches what you query first
  • Composition with sub-queries (like joins)
  • Optimistic mutations (for free)
  • Automatic local storage and storage management
  • Realtime granular sync with your server
  • No complex data-conflict handling or restrictive rules on data structures/mutations
  • Works on PostgreSQL
  • Easy to deploy
  • Scales to large data sets

When is it out?

That's up to the Zero team, but we've been testing it in private beta and it's been working great. They are aiming for within the next two months. Once Zero is published, we will release a new version of One with full support.

wwwwwwwwwwwwwwwwwww
A fun note: The founder of One lives in a small town in Hawaii, just a few streets down from one of the founders of Zero.

Edit this page on GitHub.