Skip to content

Vyuh Core ​

Compose product slices with FeatureDescriptor, choose capability implementations with PluginDescriptor, and launch through runApp.

vyuh_core on pub.dev

How the pieces fit together

Composition ​

Each descriptor has a unique name, a title, and a required route builder. Features can also provide initialization and disposal hooks, dependencies, and extension contributions. The app supplies the selected descriptors; the runtime assembles their routes.

Use the quick start for a complete first app and feature descriptors for ownership and dependencies.

Shared capabilities ​

Plugins expose network, storage, secure storage, auth, navigation, DI, events, analytics, environment, and telemetry contracts. The app selects implementations; features consume their contracts.

Unspecified named slots use PluginDescriptor.system defaults. Custom capabilities go in others and are retrieved through vyuh.getPlugin<T>(). Read using plugins and custom plugins.

Lifecycle and lazy loading ​

Preloaded plugins initialize before the main platform stage. The remaining plugins initialize concurrently, then features initialize after their declared prerequisites. Feature cleanup runs before shared plugin cleanup.

Lazy descriptors postpone loading and activation until needed. Concurrent requests share activation, and a loader must return a matching feature name. Read startup and lifecycle.

Complete API ​

Browse every public declaration and directly declared member. The source-derived reference includes exact constructors, optional parameters, base contracts, and lifecycle helpers.