placeholder

Building data-centric apps with a reactive relational database

We're exploring an approach to simplifying app development: storing all application and UI state in a client-side reactive relational database that provides a structured dataflow model.

Click to view the original at riffle.systems

Hasnain says:

This was a really interesting read on web/app development and how to make developing user interfaces more natural (especially for a backend developer like me who's scared of UI).

This goes into a lot of approaches I've thought/wondered about over the years, and matches some of the stuff I've seen described at a very high level in some of FB's code (w/o knowing the details). Good to see some of this in action elsewhere!

"We started this project wondering how the local-first availability of an app’s data could change and simplify app development. At this point, we’re left with more questions than answers. However, we see the outline of an approach where user interfaces are expressed as queries, those queries are executed by a fast, performant incremental maintenance system, and that incremental maintenance gives us detailed data provenance throughout the system. Together, those ideas seem like they could make app development radically simpler and more accessible, possibly so simple that it could be done “at the speed of thought” by users who aren’t skilled in app development.

We find a lot of inspiration from tools like spreadsheets, arguably the origin of the reactive programming model, and Airtable, which draws inspiration from the relational model. These tools are highly productive in their domains; in our experience, they are more productive than traditional developer tools even for skilled software engineers. Nonetheless, they have significant technical and conceptual limitations; you can’t use Airtable to write iTunes. We hope that by taking a step back and developing some key abstractions, we can achieve the full expressive power of “general purpose” programming tools and simplify them dramatically, for experts and novices alike."

Posted on 2022-03-04T04:51:51+0000