In business development, especially when the technical framework changes a lot, if we want to develop a common business component. In addition, this component needs to be provided for the system use of various technical frameworks. At this time, we need to carry out careful technology selection before development to achieve the best state of adaptation and maintainability of business components.

Take a specific example: during the refactoring of a mall application, we need to develop a shell component for receiving address management, which will be added to other projects later. At this time we need to consider the following points:

  1. Access side project framework diversity, may be React, Vue, Angular, etc. 2. The component code volume should not be too large to affect system performance. 3. Component development and maintenance costs.

For these reasons, implementing with native JS seems to be the best option. This would be perfect if it were a logically simple component. However, if the logic of this component is complex, it becomes a nightmare, and we are back to the days of frequent DOM manipulation.

So we thought, can we introduce a smaller UI framework within the component to deliver our productivity? Of course it is OK and a very good choice.

Then we have a new problem, when others to maintain your components, because they are not familiar with the use of the framework you introduced posture, will feel more pain, maintenance costs will be higher.

Mona-react is a lightweight UI framework written according to react syntax that solves all of these problems and is ideal for developing independent business components.