Benefits
There are many benefits in using feature-u!
The two fundamental artifacts from which most benefits are derived are:
A formal means by which features can collaborate with one another (
Cross Feature Communication
), making them truly plug-and-play- This includes the ability for
UI Composition
to cross feature boundaries. It even allows UI Content to be injected autonomously. This is something that has to be seen ... it shows off feature-u very well.
- This includes the ability for
A significant reduction in boilerplate code through:
Auto configuration of the frameworks in-use (via plugin extensions -
Extendable aspects
)Startup initialization that is encapsulated within features (via
Application Life Cycle Hooks
)
The following list of benefits can be directly correlated to the
considerations that formed the basis of why feature-u was
developed (see: Why feature-u?
).
Feature Encapsulation: isolating feature boundaries improves code manageability
Feature Collaboration: promote Cross Feature Communication through a well-defined feature-based Public Interface
Feature Based UI Composition: facilitate seamless cross-feature component composition
Application Life Cycle Hooks: features can initialize themselves without relying on an external process
Feature Enablement: enable/disable features through a run-time switch
Minimize Feature Order Dependency Issues during in-line code expansion
Framework Integration: automatically configure used framework(s) (matching the app's run-time-stack) by accumulating all feature aspects (employing an extendable API)
UI Component Promotion: features can autonomously promote their UI components through Feature Based Route Management
Single Source of Truth: is facilitated in a number of ways within a feature's implementation
Simplified App Startup: launching an app can be accomplished through a single line of executable code!
Operates in any React Platform React Web, React Native, Expo, etc.
Plug-and-Play: features can be more easily added or removed
feature-u allows you to focus your attention on the "business end" of your features!
Go forth and compute!!