Skip to main content

knowa_kernel 2.0.1 copy "knowa_kernel: ^2.0.1" to clipboard
knowa_kernel: ^2.0.1 copied to clipboard

unlisted

The runtime that executes Knowa code-push patches inside a Flutter app. Dependency-free. You do not depend on it directly: knowa_sdk does.

knowa_kernel #

The runtime that executes Knowa code-push patches inside a Flutter app.

You do not depend on this package directly. Add knowa_sdk, which depends on it, and use the Knowa CLI to build and publish patches:

curl -fsSL https://knowa.knowalabs.com/install.sh | sh
flutter pub add knowa_sdk
knowa init

What it is #

A patch is compiled on your build machine by the Knowa CLI, signed with your key, and delivered to the app. knowa_sdk verifies the signature and hands the patch to this runtime, which runs the functions and methods it replaces. Everything a patch does not replace runs as compiled into your app.

  • No dependencies. It ships inside every app that uses Knowa, so it imports nothing but dart:core and dart:async.
  • Values are ordinary Dart objects. An int is an int and a Future is a Future, so patched and shipped code call each other — including across await — without conversion.
  • What it cannot do, it says. A construct the runtime cannot execute is refused by name when the patch is built. A call into your app that has no binding fails that one patched function, which falls back to your shipped code and reports what was missing.
  • Slower than compiled code: right for UI and business logic, wrong for hot loops.

KBridge is the interface an app implements to let a patch reach one of its own classes. knowa release generates those for you; knowa_sdk re-exports the type.

Documentation: knowa.knowalabs.com.

License #

BSD-3-Clause. See LICENSE.

0
likes
0
points
537
downloads

Publisher

verified publisherknowalabs.com

Weekly Downloads

The runtime that executes Knowa code-push patches inside a Flutter app. Dependency-free. You do not depend on it directly: knowa_sdk does.

Homepage

Topics

#code-push #ota-updates #runtime

License

unknown (license)

More

Packages that depend on knowa_kernel