Basically an Airtable clone. An excel-like interface that allows people to store data. People are already familiar with using excel to store things like contacts. This interface would just be a more powerful version of that. For example, it would:
- allow CRUD operations
- require the user to specify data types for each column
- allow rows to pull data from other tables
- allow rows to be linked to other rows in other tables
- allow links to store data themselves
- connect events to custom events
The storyboard represents the flow of the app. The user should be able to start at the highest level of abstraction, and drill deeper if they need to. There are two types of tasks that the user cares about:
- creating a form to collect user input
- creating a view to display data
- adding a button to a view that triggers a segue or server action
A function transforms input into output. These are pure functions. They can call other formulas, as well as read data from the environment. The interface would be similar to writing a formula in Excel. The environment exposes things like:
- the database
- the current time
An action does something. The purpose of an action is to take data and store it in the database or call out to a third-party API. It can call other actions as well. The interface would be similar to Zapier.
Views can render data, static content, and other views. The storyboard is just a visual representation of the top-level views.
UI controls are pre-defined views that produce events.
These are used to style the views. Views can depend on styles provided by the theme.
These are more advanced actions that are written as code. They can do anything.