Intro
Concept
Framework (Fusion)
The provider initiates the framework, which means it configures and initializes the framework.
When initializing sub modules (app) the framework is provided as an reference.
App
An app can configure the default modules, but also add and configure additional modules.
Modules
Configure
When adding a module for initialization, the module could (most cases) create a configurator.
A configurator is an instance of preset configuration that exposes interface which that initiator can configure.
Initialize
When all configuration is done, the initializer
will initialize provided modules.
When the module has initialized it will return a provider interface for that module.
if a module requires another module, the
initializer
will provide an async hook which the module
can await, this might throw aModuleNotProvidedError
orTimeOutError
.
React
Since the framework is async, these modules requires Suspense.
Only React 17 or higher works with these modules
Modules have thin inter-opt modules for making it easier for developers to get started with React.
You never know what your boss gonna ask for tomorrow
The framework is built on plain JavaScript (TypeScript), with the ideology that libraries are just flavours of the day.
No core logic should exist in 3rd party libraries