knockout / knockout

Knockout makes it easier to create rich, responsive UIs with JavaScript
http://knockoutjs.com/
Other
10.43k stars 1.52k forks source link

Plan of support for knockout.js #2602

Open jaredtait opened 1 year ago

jaredtait commented 1 year ago

This is more of a tech-audit issue than a functional issue: What sort of timeline do the contributors to knockout.js expect to support it?

I ask because the issues are not readily adjudicated and we are a few months away from the 10 year anniversary of an issue of an unsupported dependency: https://github.com/knockout/knockout/issues/788

webketje commented 1 year ago

At time of writing:

So I would say its support has already expired. The original selling points of Knockout: (2-way) data-binding has been demonized to such an extent by "thought-leaders" (React etc) that it is (wrongly) considered an anti-pattern. Componentisation is better done by newer frameworks, or even just templating libs. Observables have better alternative stand-alone libraries like flyd streams. There is literally nothing left that Knockout does better.

Taking a cursory look at issues will make apparent to anyone that there are a lot of inconsistencies and serious performance flaws. Maintainers should at least publish a README.md and website update that Knockout is no longer actively developed and instead in "maintenance mode", like momentJS did: https://momentjs.com/

Considering using Knockout.js in your project? There may be better modern alternatives.

jaredtait commented 1 year ago

Thanks @webketje for the thoughtful response. I agree updating the readme.md would be wise as well as marking the package feeds as deprecated for tech audit.

Most teams have been using knockout for observables. For now, I will be guiding teams away from using knockout.js in all new features with a strong recommendation towards replacing knockout entirely.

QDCSLG commented 1 year ago

My team has been through the same process of evaluating the future of knockout as a library in our projects. We never had any technical issues with the library itself. Productivity is always great due to the elegant design of knockout.

However, due to the age of the library, we did our due diligence to find a replacement. I would like to mention solidjs as one of the better alternatives to knockout.

According to @ryansolid Ryan Carniato - the author of solidjs on this article

My library Solid is like a modern re-interpretation of Knockout.

solidjs rank consistently on top on majority of the benchmarks.

Thanks!

adrienne commented 1 year ago

It looks as though they're steering people to TKO as a replacement: https://github.com/knockout/tko