Glossary
The handful of terms Flitz gives a specific meaning.
Short definitions of the words these docs use in a Flitz-specific sense. For the mechanism that connects them, read How it works.
The two halves
Host
Your own app with the Flitz loader embedded, built once from a pinned Flitz SDK and installed like any build of your app. It carries the engine, the platform libraries, and every native plugin — everything a bundle may use.
Bundle (.flitz)
Your application code and the Flutter framework compiled to bytecode, plus
assets and a manifest, packaged as a .flitz archive. A bundle is a complete
app build, never a patch or diff. The host downloads it and runs it in place of
its own compiled-in app code.
Loader
The component inside the host that fetches a bundle, checks it against the host, and hands it to the engine to run. It ships as a plugin for your Android and iOS projects.
Flitz SDK
A Flutter SDK with Dynamic Modules enabled. Host and bundle must be built with
the same SDK pin. Release tags look like <flutter-version>-flz.<N>.
How a bundle fits a host
Envelope
The set of native capabilities a host was built with: its plugins, native libraries, and platform version. A bundle can use anything inside the envelope and nothing outside it — adding a native dependency means a new host build.
Manifest
The metadata file inside a bundle declaring what it needs from a host: the platform fingerprint it was built against, the plugins and native libraries it requires, and its entry point.
Compatibility check
The loader's validation, before anything runs, that a bundle fits its host: the fingerprints match and the bundle's requirements are a subset of the envelope. A mismatch is refused with a clear error. Fitting is not the same as being safe — see first-party bundles.
Dynamic interface
The declared boundary between host and bundle: which platform classes and members bundle code may call, extend, or override. Violations fail at publish time, on the developer's machine.
Transient load
A loaded bundle changes nothing persistent. Restart the app and it is back on the code the host was built with, so there is nothing to roll back.
Under the hood
DDM (Dart Dynamic Modules)
The upstream-experimental Dart VM capability Flitz is built on: running ahead-of-time-compiled code and interpreted bytecode together in one process.
KBC (Kernel Bytecode)
The portable bytecode format a bundle's Dart code is compiled to, interpreted at run time by the Dart VM inside the host.
Mixed-mode dispatch
The mechanism that lets compiled host code and interpreted bundle code call each other at every boundary. Invisible to your code; it is what makes the host/bundle split work.
Trust
First-party bundles
The supported model: bundles built by your own team for your own app. A bundle runs with the full privileges of the host, so the compatibility check guarantees fit, not safety — untrusted third-party bundles are not supported.