Introduction
TKO v4.0.1 is here →
Terminal window Terminal window Terminal window Terminal window
TKO
Battle-tested since 2010
Observable data binding. Zero dependencies, zero ceremony. Ship a dynamic web UI in seconds.
Quick start
Section titled “Quick start”Browser
Section titled “Browser”Package manager
Section titled “Package manager”npm install @tko/build.referencebun add @tko/build.referencepnpm add @tko/build.referenceyarn add @tko/build.referenceFor Knockout 3.x compatibility, use @tko/build.knockout instead.
First binding example
Section titled “First binding example”<div id="app"> <label> Name <input data-bind="textInput: name" /> </label> <p>Hello, <strong data-bind="text: name"></strong>.</p></div>
<script src="https://cdn.jsdelivr.net/npm/@tko/build.reference/dist/browser.min.js"></script><script> const ko = globalThis.tko ko.applyBindings({ name: ko.observable('TKO') }, document.getElementById('app'))</script>Choose a build
Section titled “Choose a build”Recommended
@tko/build.reference
Modern path with TSX, ko-* attributes, native provider, and strict equality in expressions.
@tko/build.knockout
Compatibility-focused. Drop-in replacement for existing Knockout applications.
What stays familiar
Section titled “What stays familiar”- Observables and computed values —
ko.observable,ko.observableArray,ko.computed - Declarative bindings —
data-bind="text: msg"and the same binding APIs - Components and custom bindings — the component system and binding extensibility
What to read next
Section titled “What to read next”Core docs
Bindings
Binding syntax, common bindings, and view updates.
State modelObservables
Observables, observable arrays, extenders, and rate limiting.
CompositionComponents
Reusable UI, loading strategies, and component architecture.
See it in actionExamples
Interactive demos showing observable updates, dependency graphs, and reactive state.