...
Within React ecosystem, Material Design graphical components are provided by Material-UI library.
To reach the expected modularity, React components are assembled in a plugin/contribution pattern:
each module describes (in a manifest):
- the extension points he contributes to (MainMenu, other components extension points,...)
- the extension points to which other modules can contribute.
The communication between the component is ensured by a publish/subscribe with a shared state, with a Redux state container.
The integration of React and Redux is ensured by the React Redux library.openIMIS Internationalization /Localization (i18n) is provided via react-intl, used for within plugins to contribute to global software translation.
The language provided by default is english (key: en).
An additional language pack mechanism is provided that allows to either overwrite default ('en') translations or provide another languages (fr,...).
Modularity
The desired modularity will be achieved by combining two techniques:
Warning:
Some Material-UI / React features are not supported in old browsers versions. The current assumptions (to be refined) is:
IE: 11, Edge >= 14, Firefox >= 52, Chrome >=49, Safari >= 10.
Documentation and Tutorials
Beside the official sites:
edx.org eduction platform offers a self-paced online course for React and Redux:
Books:
Learning React: A Hands-On Guide to Building Web Applications Using React and Redux, by Kirupa Chinnathambi