m8ty App
Customer problem and solution
Without m8ty App, organizations must assemble and maintain separate mobile-app foundations, navigation, themes, and feature modules. This makes it slow and costly to deliver a consistent banking experience and to adapt it for different products or customer journeys.
m8ty App solves this with a modular Flutter foundation: customers configure the app shell and compose the required business and framework modules. Teams can deliver distinct app experiences, extend them with their own modules, and update individual capabilities without coupling the entire app.
The app itself usually consists only of configurations, static content such as logos, and a main class for launching the app. Depending on the desired functionality, the modules are activated here and the navigation and some other UI elements are configured.
So we can create new apps with completely different navigation and behaviors along with our views in no time. The main code is in the modules that an app can use.
Extending the app with other modules written by customers is also no problem without mixing code. It also facilitates updates of individual modules in apps, since there is a relatively strict separation of views.
Modules
Modules (or packages for Flutter/Dart) are the heart of the m8ty App(s).
They are divided into many modules, so for the most part they can be developed and used independently. Modules are representing
A business case (e.g.
login,banks,accounts,transactions,cards, ...)A design element of the framework (e.g.
themes,basic components,business components, ...)A framework functionality (e.g.
translations,security, ...)
Theming
The basic theme of the widgets is controlled by the module theme, which can be included by the app as a dependency. By default, a dark theme and a light theme are provided.
To create own themes, an IThemeProvider can be implemented, which loads the desired theme or can switch between different themes.
A theme is defined with Flutters ThemeData objects. The framework also provides support for theme extensions by defining one theme completely and other themes from it using the base data and only defining changes like colors.