Brian Hunt is creating tko: a new foundation for knockout.js
8

patrons

$93
per month
Knockout.js was one of the first web frameworks, and is still used on tens of thousands of websites and by millions of visitors every day.

Knockout was first released in 2010, and back then Internet Explorer was the browser and a lot of workarounds were needed to make the magic work.  Since then, web browsers have come a long way the internals of Knockout have gotten a bit rusty with a lot of antiquated code and design.

So with the blessing of its founders and other maintainers (Steve Sanderson, Ryan Niemeyer, and Michael Best — Thank you!) over the past two years I've been taking time to break Knockout up into self-contained ES6 import/export packages that combine to make a solid foundation for a bright Knockout future.  This collection of packages and tools is called tko.

Check out the repository at github.com/knockout/tko!

When tko is ready it'll be the foundation for Knockout 4.0, and bring with it all the greatness that made Knockout.js so popular in the first place ——

  • super-low barrier to entry
  • easy, intuitive data-binding inline html
  • lightning fast two-way binding process of anything
  • observables with auto-computed dependencies
  • rock-solid battle-hardened cross-browser compatibility 
  • a bazillion unit tests
  • some super-handy books

Plus a whole bunch of new awesome-sauce ——

  • O(1) foreach loops
  • ES6 class-based components and bindings
  • clever lifecycle encapsulation
  • typescript support
  • server-side rendering
  • content-security-policy unsafe-eval compatible
  • a rebuildable platform to roll-your-own knockout-derivation
  • independent reusable packages (e.g. observables, computeds)
Check out lots, lots, LOTS more in the CHANGELOG.md

How close is tko to being ready?  It's been in alpha for almost a year, with use in high volume, highly complex production applications for a substantial part of that.  TKO passes all the unit tests of knockout, and is solid with modern browsers.

How close is knockout 4?  Knockout 4.0.0 will be part of the first release of tko (which will, monorepo-style, also be version 4.0.0).  With support, hopefully in weeks to months!

What's the difference between tko and knockout?  tko is a set of individual packages that combined to form Knockout, a reference implementation (tko.js), or a custom knockout-like binding provider.  Knockout is also a combination of the tko packages, but with a more conservative set of choices.

Where's the documentation?  With your support, coming ASAP to tko.io!

Is tko / knockout.js backwards compatible?  With one exception (anonymous functions inside data-bind), it should be darned close.  Backwards compatibility is a priority, so please report incompatibilities!

Who am I supporting with this Patron?  You'll be supporting software developers that use open source libraries like Knockout.js to create beautiful, complex, and reliable web applications.  Support helps me make a project like tko and Knockout more reliable, better documented, and more functional — so other developers can do more, faster, with greater certainty.

Thank you so much for checking this out.  With your support I'll carve out every moment I can for this project.
Tiers
☕️ Cup of Joe
$10 or more per month 4 patrons
A cup of coffee emoticon next to your name in Backers.md
☕️☕️ Two cups of Joe
$20 or more per month 1 patron
Your name in Backers.md next to two cups of brain-fuel.
⭐️ Stars Support
$30 or more per month 1 patron
You with a star, so recognized in Backers.md
🌟 💫 Superstar 💫 🌟
$100 or more per month 0 patrons
Your name in Backers.md with superstars!
🥊 Knockout support
$250 or more per month 0 patrons
Your name in Backers.md with Knockout emoticons!
🥊 🥊 Two-punch support
$500 or more per month 0 patrons
Your name and two punches in Backers.md
🖼 Sponsored-by Logo
$1,000 or more per month 0 patrons
Your logo and name in Backers.md.
🖼 🖼 Landing Page
$2,000 or more per month 0 patrons
Your logo and name at the top of the tko.io landing page, and leading in Backers.md.
Knockout.js was one of the first web frameworks, and is still used on tens of thousands of websites and by millions of visitors every day.

Knockout was first released in 2010, and back then Internet Explorer was the browser and a lot of workarounds were needed to make the magic work.  Since then, web browsers have come a long way the internals of Knockout have gotten a bit rusty with a lot of antiquated code and design.

So with the blessing of its founders and other maintainers (Steve Sanderson, Ryan Niemeyer, and Michael Best — Thank you!) over the past two years I've been taking time to break Knockout up into self-contained ES6 import/export packages that combine to make a solid foundation for a bright Knockout future.  This collection of packages and tools is called tko.

Check out the repository at github.com/knockout/tko!

When tko is ready it'll be the foundation for Knockout 4.0, and bring with it all the greatness that made Knockout.js so popular in the first place ——

  • super-low barrier to entry
  • easy, intuitive data-binding inline html
  • lightning fast two-way binding process of anything
  • observables with auto-computed dependencies
  • rock-solid battle-hardened cross-browser compatibility 
  • a bazillion unit tests
  • some super-handy books

Plus a whole bunch of new awesome-sauce ——

  • O(1) foreach loops
  • ES6 class-based components and bindings
  • clever lifecycle encapsulation
  • typescript support
  • server-side rendering
  • content-security-policy unsafe-eval compatible
  • a rebuildable platform to roll-your-own knockout-derivation
  • independent reusable packages (e.g. observables, computeds)
Check out lots, lots, LOTS more in the CHANGELOG.md

How close is tko to being ready?  It's been in alpha for almost a year, with use in high volume, highly complex production applications for a substantial part of that.  TKO passes all the unit tests of knockout, and is solid with modern browsers.

How close is knockout 4?  Knockout 4.0.0 will be part of the first release of tko (which will, monorepo-style, also be version 4.0.0).  With support, hopefully in weeks to months!

What's the difference between tko and knockout?  tko is a set of individual packages that combined to form Knockout, a reference implementation (tko.js), or a custom knockout-like binding provider.  Knockout is also a combination of the tko packages, but with a more conservative set of choices.

Where's the documentation?  With your support, coming ASAP to tko.io!

Is tko / knockout.js backwards compatible?  With one exception (anonymous functions inside data-bind), it should be darned close.  Backwards compatibility is a priority, so please report incompatibilities!

Who am I supporting with this Patron?  You'll be supporting software developers that use open source libraries like Knockout.js to create beautiful, complex, and reliable web applications.  Support helps me make a project like tko and Knockout more reliable, better documented, and more functional — so other developers can do more, faster, with greater certainty.

Thank you so much for checking this out.  With your support I'll carve out every moment I can for this project.

Recent posts by Brian Hunt

Tiers
☕️ Cup of Joe
$10 or more per month 4 patrons
A cup of coffee emoticon next to your name in Backers.md
☕️☕️ Two cups of Joe
$20 or more per month 1 patron
Your name in Backers.md next to two cups of brain-fuel.
⭐️ Stars Support
$30 or more per month 1 patron
You with a star, so recognized in Backers.md
🌟 💫 Superstar 💫 🌟
$100 or more per month 0 patrons
Your name in Backers.md with superstars!
🥊 Knockout support
$250 or more per month 0 patrons
Your name in Backers.md with Knockout emoticons!
🥊 🥊 Two-punch support
$500 or more per month 0 patrons
Your name and two punches in Backers.md
🖼 Sponsored-by Logo
$1,000 or more per month 0 patrons
Your logo and name in Backers.md.
🖼 🖼 Landing Page
$2,000 or more per month 0 patrons
Your logo and name at the top of the tko.io landing page, and leading in Backers.md.