Magnolia's app framework provides ready-made app types. Choose the right type as a starting point for your own app. You may get required functionality with little effort. For example, if your app is very content centric then go with the content app type.

Content app

Content app is a specialized app type that manages custom data sets. The content app provides a user interface that consists of a browser subapp and a detail subapp. Content apps make it easy to organize items such as contacts or products. Many native Magnolia 5 apps such as Pages and Contacts are content apps. Because this app style is used often, the framework provides convenience classes to make building a content app faster.

Completely customizable

Benefits:

Quick, ready-made framework for managing any type of content.

Extensible. Add your own views, actions etc.

Works well with other apps. Allows you to choose content from other apps to create links and establish relationships.

Custom app

The content app type is very purpose driven. However, if you need to do something really different such as graphs or charts the content app framework is too rigid. Create a custom app instead. Custom app is also the right choice for doing something really simple such as displaying some system information or providing a simple configuration tool. While you can still configure a lot, you need to write custom app program code yourself.

SmallAppLayout is a design pattern that works well for editing single things such as mail configuration and things you don't need to touch very often. Combined with the form builder, it allows you to configure a form-based UI. Minimal and focused, reducing complexity even beyond content apps. Configurable and flexible for many small tasks.

EmbeddedPageSubApp is a special type of subapp that allows you to embed an external UI using an iframe.

Mixing app types

To an extent, you can also mix and match these types. For example, the Feeds app is a content app but it has a special subapp that includes a custom view. The custom view borrows the small concept app and offers a small tool for configuring the frequency of the feed update.