Introduction
Overview
In a constantly evolving environment with high functional demand, efficiency and precision become critical to providing top-quality services. Aware of this growing need and the difficulty of finding tools capable of solving complex use cases, we present an innovative framework based on a modular plugin system, specifically designed for building advanced applications.
The plugin system offers a complete and adaptable solution that allows professionals to have a global vision and optimize their work environment according to the specific needs of their practice. This system provides a versatile and high-performance platform that drives efficiency and improves results.
Philosophy and design principles
The technological strategy based on modular plugins, unlike conventional microfrontend and iframe technology, allows different work teams to develop these plugins independently and then each one is injected visually and functionally into the different regions that the modular platform provides, so that for each plugin different views distributed throughout the application can be displayed, but at the same time connected technically and functionally to each other, thus offering versatility and performance that will help the professional's workflow.
Furthermore, the plugins, being injected and rendered by the platform itself and not being a simple iframe, have direct access to functionalities and services offered by the platform, as well as the ability to interact with other plugins and avoid compatibility, infrastructure, and security issues.
Main use cases
The main use case for an application based on the Harmonix framework is any "Workstation" style application and "Single Page Application", where the user wants to see as much information as possible, interconnected with each other, reactive, and with an experience that makes the process to be carried out comfortable, accessible, dynamic, and effective.
Furthermore, Harmonix provides a set of tools so that these workstations can contain different plugins, built with different technologies and lifecycles, where they only have to comply with certain adherence rules with the main application (shell), but at the same time provide interactivity functionalities with these plugins.
It is important to highlight the importance of this autonomy that plugins acting as microfrontends have, to be developed with the technology desired (as long as they are encapsulated in a Web Component, which will be detailed in later sections), and to have their own development and deployment cycle totally agnostic to the framework and the shell, which facilitates and solves real use cases where the same application can contain plugins and initiatives created by different clients.