!!! abstract “”
The different app types, their base classes, and how `define_app` transforms a user defined class or function into a composable app.
These are responsible for loading data and are composable. They
inherit from LoaderApp.
from scinexus import LoaderAppThese are responsible for writing data and are composable. They
inherit from WriterApp.
from scinexus import WriterAppGeneric apps do other operations on data and are composable. They
inherit from ComposableApp
from scinexus import ComposableAppNon-composable apps cannot be combined with other apps into pipelines.
from scinexus import NonComposableApp!!! info
You can create your app by inheriting from one of the above base classes. Or you can use the `define_app` decorator. Using the decorator is the fastest way to turn something you already have into a composable app. Under the hood, the decorator is basically injecting the base classes described above into the inheritance of your own classes.