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]").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().get("[id]") with complete type-safe models.