Knockout.js

(31)
4.2 out of 5 stars

Knockout is a standalone JavaScript implementation of the Model-View-ViewModel pattern

Work for Knockout.js?

Learning about Knockout.js?

We can help you find the solution that fits you best.

Knockout.js Reviews

Write a Review
Filter Reviews
Filter Reviews
  • Ratings
  • Company Size
  • User Role
  • User Industry
Ratings
Company Size
User Role
User Industry
Showing 33 Knockout.js reviews
LinkedIn Connections
Knockout.js review by <span>Eniko P.</span>
Eniko P.
Validated Reviewer
Verified Current User
Organic
Reviewed On

KnockoutJS is an organizational library to create easy to understand, extendable web apps

What do you like best?

While learning javascript, my first Model-Vew-Viewmodel (MVVM) technology was KnockoutJS. It is simple to understand, well documented tool and has a decent community. For a beginner or while developing relatively simple one-page web apps, I found KnockoutJs knocks the other framework out by its simplicity and performance. You very quickly get the hang of it.

It is an amazing tool to bind User Interface (UI) with your data model. Through bindings, you can create set of DIVs from just an array (either coded in javascript or using jQuery). Whenever the array changes, the UI changes consistently. To add or delete any DOM element based on UI changes is just a line of code.

Adding search or filter functionality to your web app becomes extremely easy.

What do you dislike?

KnockoutJS's main scope is data binding and templating, to create more complex web application you need to combine it with other library(ies).

Recommendations to others considering the product

If you are a beginner front end web developer or new to MVVM technology, I recommend to start with KnockoutJS. It is well documented, easy to understand and supported by a decent community.

It is definitely worthwhile to add to your web development technology toolbox orconsider as a solution in your future web development projects.

What business problems are you solving with the product? What benefits have you realized?

While creating a Neighborhood Map web application that is offline first and a single-page application, KnockoutJS helped me to keep my code streamlined, well organized and easily extendable. I could avoid long spaghetti codes thanks to data bindings.

Sign in to G2 Crowd to see what your connections have to say about Knockout.js
Headshots
Knockout.js review by <span>Anas J.</span>
Anas J.
Validated Reviewer
Verified Current User
Invitation from G2 Crowd
Reviewed On
Business partner of the vendor or vendor's competitor, not included in G2 Crowd scores.

Fast development with knockout MVVM framework

What do you like best?

1- The way of using declarative bindings

2- Awesome template systems.

3- large amount of plugins to use it.

4- Can develop single page application with Drundal that based on knockout.

5- Using MVVM UI Design Pattern.

6- Knockout is great for creating decoupled models and apply them to views through declarative data binding. It also gives you two way change tracking between view and model.

7- Contains KO utility functions (ko.utils).

What do you dislike?

1- you need to use plugins for some basic features like url routing and validation.

2- Some performance issues when you render large number of items in html.

3- Need ES6 Integration.

4- Need for more complex examples.

5- Data-binding is mixed with html elements.

Recommendations to others considering the product

I recommend to use Drundal instead of only use knockout because it contains many features to build fully Single Page Application.

What business problems are you solving with the product? What benefits have you realized?

Utilize MVVM framework that help me on fast development and minimize the number of defects in development phase.

What Other Web Frameworks solution do you use?

Thanks for letting us know!
Knockout.js review by <span>Chris H.</span>
Chris H.
Validated Reviewer
Verified Current User
Invitation from G2 Crowd
Reviewed On

Easy creation of Dynamic reusable frontend interfaces

What do you like best?

It makes building dynamically populated pages super easy allowing you to offload the rendering of the data to the client instead of having to do it all server side on request. It also makes it very easy to make the pages of our site dynamically hide and show different sections depending on the values entered/selected by the user.

What do you dislike?

There are some features that have almost no documentation, like in a component if you have a function attached to the view modal called "dispose" it will get called as it is cleaning up the component. I would think this would be important to know for single page apps to cut down on memory leaks from subscriptions and computeds.

Recommendations to others considering the product

Go through the tutorials on the official Knockout.js site. It will help you get a good basic understanding of what Knockout.js is designed to do and the problems it's meant to help solve.

What business problems are you solving with the product? What benefits have you realized?

It is helping us by making the server having to do less work when a client wants to view a page due to putting all the dynamic rendering onto the clients browser instead of the server. And with the use of cache manifests we have been able to cut down the amount of work our servers need to perform by a large margin.

Knockout.js review by <span>Karl Marx L.</span>
Karl Marx L.
Validated Reviewer
Verified Current User
Invitation from G2 Crowd
Reviewed On

Painless and a flexible front end library.

What do you like best?

I like it's flexibility and it is back-end agnostic. It is easy to learn in a short span of time, it has a nice set of Utility functions and I LOVE using it! I finished four projects using KnockoutJS and they all perform well. The documentation is straight to the point and I think that is a big plus compared to other JS libraries, that is maybe BETTER, but it lacks a good documentation.

What do you dislike?

I disliked the declarative binding. Because sometimes I end up mixing my script in my HTML. But this library solves that problem https://github.com/rniemeyer/knockout-delegatedEvents, made by Ryan Niemeyer, one of the Knockout's author.

What business problems are you solving with the product? What benefits have you realized?

Emulating a native desktop app experience using jQuery ajax and knockout. It is easy to parse JSON formatted strings and display it on the user. Knockout also helps you develop faster using it's collection of utility functions and you can create your own bindings, and your own components. It makes your application more responsive.

Knockout.js review by <span>Ken D.</span>
Ken D.
Validated Reviewer
Verified Current User
Invitation from G2 Crowd
Reviewed On

Knockout a single page web app quickly with Knockout.js

What do you like best?

When implementing Model View ViewModel practices, creating applications with Knockout.js was very easy. Much of the code you're writing looks like normal JavaScript objects with some Knockout observable logic dropped in. Knockout gives you the ability to create applications as complex as you want, with data properties as complex as you can imagine, and the data-binding it offers means your data will show up as you want it.

What amazed me was how simple and small some of the changes were when I needed to do something complex. Most code changes were 1-4 lines long, to create some custom feature that would normally be 100 lines of jQuery or Dojo code.

What do you dislike?

Knockout differs from some more comprehensive frameworks (like Angular or Ember) where everything is included. Knockout provides data-binding, but lacks features found in full frameworks like routing or UI controls. However, you can mix and match other libraries in your app that handle those features, and it integrates very well. You can mix in jQuery UI user controls, or a library like Sammy.js for routing, and let Knockout handle the data binding and keeping up with the state of your application. It depends on how much you want to get your hands dirty with mixing in different libraries.

The one issue I had was that support for more complicated examples and integration with other libraries was hard to find. I'd often find the answer somewhere on StackExchange, or buried in a 5 year old blog that was abandoned 3 years ago.

Recommendations to others considering the product

There are frameworks out there that do more (like AngularJS or Ember). But if you need to create a single page application quickly, and you don't want to experience the crazy learning curve that those frameworks require, try Knockout.js. It's easy to use, and you'll be amazed at what you can create within the first hour. You can be very productive very quickly with this library.

What business problems are you solving with the product? What benefits have you realized?

I was tasked with creating a property search website for a government organization. Once we had the data model for the project, creating the single page web application and adding all the special logic within was a breeze. When change requests came (and we received a lot of them), I was able to handle most of them with just a few lines of code. I was amazed at how quickly we could turn around change requests to the client.

Knockout.js review by <span>Ruslan L.</span>
Ruslan L.
Validated Reviewer
Verified Current User
Invitation from G2 Crowd
Reviewed On

I have been using Knockout for about 4 years in a big enterprise application.

What do you like best?

Knockout is unobtrusive library with focus on data binding. It's very easy to create app with complex UI logic and bind it to UI representation. The best thing about Knockout, it doesn't stand in your way.

What do you dislike?

You have to write a lot of ko.observable for complex objects. But still there's a Knockout ES5 plugin that automates observables. The drawback of the plugin that it doesn't support old browsers.

Recommendations to others considering the product

Take into account that knockout is just a library with focus on data-binding. It has no routing

What business problems are you solving with the product? What benefits have you realized?

I use knockout for enterprise app in medical field. Knockout enables to create complex UI with grids, wizards, panels and it makes easy to implement UX best practices. It takes very few time to implement features and deliver business solutions in a short term compared to using other technologies.

Kate avatar
Kate from G2 Crowd

Learning about Knockout.js?

I can help.
* We monitor all Knockout.js reviews to prevent fraudulent reviews and keep review quality high. We do not post reviews by company employees or direct competitors. Validated reviews require the user to submit a screenshot of the product containing their user ID, in order to verify a user is an actual user of the product.