Firebase provides its own NoSQL database where all your data is
stored, it is an easy-to-use and scalable way to store your data but this means your data is stored in a proprietary
database. You can then use the SDK of Firebase to i.e. set db.collection("cities").doc("[ID]").set(docData)
or get db.collection("cities").doc("[id]").get()
data in your app. To handle additional business logic
you can use Cloud Functions which can be called directly from your app.
Fusio has a different approach, instead of directly working with a database you need to define operations,
an operation is assigned to a specific HTTP route like GET /cities
which then invokes an action on
invocation. An action is basically like a Cloud Function which contains your business logic and which produces
a response. Through this approach Fusio generates fully typed client SDKs. This means your SDK is not generic
instead it represents your concrete use-case. I.e. the generated SDK would look like client.cities().create(docData)
or client.cities().get("[id]")
with complete type-safe models.