Adam B.
AB
Adam B.
Mobile Engineer
Internet
Enterprise (> 1000 emp.)
"Knockout.js - Great for small to medium sized applications"
4/5
What do you like best about Knockout.js?

I really like the two-way data-binding aspect when working with a bunch of user interactions. Keeping the data-layer in sync with the view layer automatically saves developers a lot of time and prevents annoying synchronization bugs.

I also really like the very small API footprint. You can learn and memorize the whole API in a day or less and be productive very quickly.

I also like how you can use it on just a very small part of your website. You can even use it for a single form in an otherwise static webpage. If you use Knockout, you aren't making a huge technical commitment. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

I don't dislike this per se, but two-way data binding is considered an anti-pattern by a large swath of front end developers. You'll have to evaluate how important that is to you. There are still many very popular front end frameworks that implement this pattern, so it's not going away any time soon.

Something I did dislike about Knockout is it does not scale particularly well. Once your application grows beyond a certain complexity, you'll find yourself having to write A LOT of code to try to keep up with requirements if you try to build anything more than basic web applications.

Knockout really only provides the most basic aspect of the MV* design pattern; you'll be responsible for a client-side router, something to make request back to a server, cookie management, etc. It's important to remember Knockout is a library and NOT a framework. Review collected by and hosted on G2.com.

Akshat Jiwan S.
AS
Akshat Jiwan S.
Computer programmer
Computer Software
Small-Business (50 or fewer emp.)
"Knockout helps you write cleaner code for complex web apps"
4.5/5
What do you like best about Knockout.js?

I loved the interactive examples. When you're starting out with a new library/framework it is crucial that you get a hang of basics quickly. With the help of interactive examples I was able to write productive code with knockout within a couple of days. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

Initially combining knockoutjs with other frameworks like jquery proved a bit challenging for me. The documentation which is otherwise fantastic lacks examples on how to make knokcout work with other frameworks. Review collected by and hosted on G2.com.

MN
Matthew N.
Software Developer
Computer Software
Mid-Market (51-1000 emp.)
"Easy start for smaller projects"
3.5/5
What do you like best about Knockout.js?

The simplicity of getting started is nice but even better are the components which are a must for a larger application. The knockout.js website has some of the best interactive tutorials I've experienced for a JS framework. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

The visual delay, especially on larger applications, between HTML rendering and Knockouts rendering is definitely suboptimal.

While the knockout.js website documentation is great it could use a better discussion on the mapping plugin which is super useful but the documentation has some gaps. Review collected by and hosted on G2.com.

Flávio C.
FC
Flávio C.
Research Professor
Information Technology and Services
Small-Business (50 or fewer emp.)
"I used it for 2-way data-binding on a RIA system and it was very lightweight and fast"
4/5
What do you like best about Knockout.js?

It is cross browser up to IE6 and provides 2-way data-binding out of the box, in an extremely not intrusive/opnionated way. Besides, the lib is lightweight and fits in lots of projects that are agnostic to data binding.

Besides, using Knockout enables programmers to express behavior in a declarative way, which allows for much less javascript code in projects. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

There is no concern separation because the knockout declarations go inside the html files, mixed with the html tags. Review collected by and hosted on G2.com.

Federico R.
FR
Federico R.
Web Developer
Small-Business (50 or fewer emp.)
"Quite good for common UI needs"
3.5/5
What do you like best about Knockout.js?

It's very easy to create complex user interfaces. MVVM is great for managing forms and app-like UI. Knockout also gives you a lot of power and choice, it's basically just the "View Layer". Also it's very easy to create custom bindings and components. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

It's a big too heavy as it supports very old browsers, it'd be great if there was a "modern" version without all those extras. View Models can grow a lot, it's up to the developer to keep them small. Review collected by and hosted on G2.com.

Verified User in Computer Software
UC
Verified User in Computer Software
Small-Business (50 or fewer emp.)
"Knockout large data collection project"
4/5
What do you like best about Knockout.js?

Small and fairly simple to work with. It does one thing and does it well. We cache our scripts for offline use so smaller frameworks are always a plus for us. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

The syntax it not as clean as some other binding frameworks so complex bindings can be a bit hard to decipher at a glance. Review collected by and hosted on G2.com.

Verified User in Computer Software
UC
Verified User in Computer Software
Mid-Market (51-1000 emp.)
"Data-binding an enterprise-level data collection application"
4/5
What do you like best about Knockout.js?

Knockout made it really easy to bind data between my view and my model. Once components were introduced, we were easily able to convert complex portions of our interface into re-usable components. Knockout was pretty easy to pick up and once you got the hang of it made doing fairly complicated things quick and easy. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

Knockout only solves half of the problem. If you create a bad UI or can't for your data properly, Knockout won't solve those issues. Sometimes, while debugging, I would grow frustrated with some of the errors and error messages. Often times these were due to my own poor logic, but it would take some time to trace down the proper issue. Review collected by and hosted on G2.com.

Verified User in Information Technology and Services
UI
Verified User in Information Technology and Services
Mid-Market (51-1000 emp.)
"Great and highly focused MVVM framework"
5/5
What do you like best about Knockout.js?

Knockout.js is a great DOM manipulation and lightweight data model tool, just MVVM not less, not more.

Knockout.js is ideal for the experienced developer that do not need complex frameworks that handle initialisation cycle, routing, building and global project structure issues, you know how to do this your own or already have good libraries set.

On the other hand Knockout.js is good when you are not experienced front-end developer that just want some form logic to work smoothly and interactively or not have a lot of time to read 100 step tutorials.

Especially for those who love functional approach, Clojure, FRP and so on, Knockout provides computed and observables that is very convenient and powerful enough to build familiar computation pipeline with a very small amount of code and declarations.

Due to the knockout's focus on essential things, i don't think there will be moment when Knockout.js will gone "old", or "unfashioned" loosing some global holywar about most elegant MVVM implementation. Hammer that you are using every day is not about fashion and there is no superhacks or monstrous complexity inside to become old. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

There are problems with placing DOM branch under overlapping knockout.js control that is already binded, so you can't easily attach some small model with templates into existing view.

Fortunately this problem always completely gone with migration to the web components introduced in v3.0.

Web components have require.js support, but it's nominal.

Performance is good but you should be aware that for all MVVM framework model state changes should be throttled and managed gently when you using a lot of entities or making projects for the mobile devices.

And it's a little bit strange to see knockout evangelists talking about it mostly on MS С# conferences. Great offer to the wrong address :) Review collected by and hosted on G2.com.

Luis P.
LP
Luis P.
Co Founder & Full Stack Developer
Information Technology and Services
Small-Business (50 or fewer emp.)
"Great library to simply bind the results of an ajax request or doing some client side functionality"
4.5/5
What do you like best about Knockout.js?

Very straightforward, learning does not take that long, very easy to grasp if you are already familiar with the MVVM pattern it provides some nice separation of concerns Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

The html binding sintax is not that clean Review collected by and hosted on G2.com.

Tyler W.
TW
Tyler W.
Lead Software Developer
Information Technology and Services
Mid-Market (51-1000 emp.)
"A solid little data binding library"
3.5/5
What do you like best about Knockout.js?

It's small and focused. It does one thing, and does it well. Review collected by and hosted on G2.com.

What do you dislike about Knockout.js?

Support for older browsers causes the syntax to be a little wacky. Also, some features are undocumented and you've got to pore through the source code to solve some problems. Review collected by and hosted on G2.com.