Knockout-inspired

Knockout left a lasting legacy in web development.

Like Knockout, Butterfloat is focused on providing a way to bind dynamic changes in a web view. It comes from a perspective that static DOM elements are more common and the "default" and that dynamic changes should be bound from Observables.

Butterfloat benefits from advances in Typescript, modern ESM, and RxJS since Knockout's best years.

Knockout believed in the "Progressive-enhancement" web where more functionality lights up as JS loads, where some base level of functionality is still presented even without JS, and that the majority of a web page is static with changes bound to it not changes driving it.

I think that especially when building "offline-first" Web Components with Stamps, Butterfloat feels like a return to some of the promises of "Progress-enhancement" and even better than them in some ways.