Why I LOVE KnockoutJS

Pim Brouwers on September 11, 2018

I love KnockoutJS. Aside from SQL, no technology I've encountered has inspired me quite to the level Knockout has. There's a captivating elegance... [Read Full]
markdown guide
 

Just saw this post. I work quite a bit with Knockout on a somewhat older application. I must say that the MVVM paradigm took a little getting used to coming from an ASP.net MVC background, but it's got its benefits. It's lightweight and pretty powerful at what it does, if you understand the pattern, it scales incredibly well, and IMO is overlooked. I've only been working with it for a couple of months at this point on a project I was moved onto, but it's growing on me.

 

Could not agree more. Learning data-driven UI's, coming from a declarative world like jQuery is really tough. It takes some getting used to. Especially avoiding the temptation to pollute your view models with jQuery selectors, thus violating the MVVM principles. I ended up becoming an expert on Knockout and helped train some of our team how to use it properly. Two years ago I built an entire POS application using it, and we didn't experience any performance issues whatsoever. So long as you use components, deferred updates and ko.pureComputed (instead of ko.computed, it will perform amazingly. It's not a popular library (intentionally not calling it a framework). But it's f***ing awesome!

 

The simple API ko has is truly legendary and cannot be understated. It does one and only one thing very well and it's basically self contained (no dependancies, no conflicts). Long live ko!

 

Very well said, and I could not agree more. Now if I could only find Fable bindings for KO (or be smart enough to do it myself), I'd be set.

 

I have not heard an utterance of Knockoutjs in quite some time. Why did it fall off in popularity so hard?

 

It really is a shame how swept away it became. I think it's partly the "shiny new toy effect", partly that they were late to the component game and that it puts onus on the developer to make smart decisions in certain cases in order to achieve performance. And as weird as this may sound, but from a design perspective, their site has always been a little under par. It's a silly little thing, but it's still influential.

The two main contributors, Brian Hunt and Michael Best, have been working working away on TKO for quite some time, which will serve as the official v4. I'm hoping there is a resurgence of sorts when it's released officially.

 

the only real problem I have encountered with it is that you can't pre-compile templates to avoid eval or new Function from being called at run time (for csp).

 

it is old, unsupported, without a community behind

 

Neither one of those things is true. Please don't troll if you're not sure of the truth.

 

I'm not trolling and I do not want to. But tell me how many community of knockoutjs are out there and when it was the last time that the documentation was updated.

I struggling to manipulate some data with svg since this morning and I was thinking to move to React but it is too much for my purpose. Mabey old jquery can help me better the KO

It's not the size the counts ;)

I saw you on the gittr channel posting a question. If you want, you can DM me here and I'll help you. I've built hundreds of enterprise apps using ko, so I'll likely be able to guide you without issue. Chances are, if you're manipulating the DOM (which violates MVVM) you are in need of a custom binding. These are ko's secret weapon, often under-utilized and misused. But extremely powerful.

 

Good day

I am just taking a chance here and asking if you guys have a sample off how to save view models let say a list of dogs offline with knockout.js retrieve them and pass them back to the server

 

Hope you were assisted, if not, research on storing the json stringified model to localstorage. Also avoid storing sensitive data on localstorage :)

 
code of conduct - report abuse