KnockoutJs 2023

KNOCKOUT.JS


Overall:  Knockout is a JavaScript library that offers Model-View-View Model pattern (MVVM) for Javascript. Its competitors are ReactJs, AngularJs and SolidJs.

Small & lightweight — 66kb minified
No dependencies

Pure JavaScript library works with any server or client-side technology.

 

Background:  I have been to a number of lectures on Knockout many years ago at the Dallas .NET conferences, but interviewed with a company that actively still uses Knockout.  With everyone focused on React and Angular, I wanted to understand better about Knockout.  So this document is a high-level recap of what the modern Knockout does.

Bindings: Easily associate DOM elements with model data using a concise, readable syntax
Auto UI Refresh: When your data model's state changes, your UI updates automatically
Dependency Tracking: Implicitly set up chains of relationships between model data, to transform and combine it
Templating: Quickly generate sophisticated, nested UIs as a function of your model data


PERFORMANCE COMPARISONS:

An interesting performance comparison with ReactJs and AngularJs - 2015 article and updated in 2017:
https://www.codementor.io/@chrisharrington/react-vs-angularjs-vs-knockoutjs-a-performance-comparison-85hwzepbz 

Another 2013 article updated in 2017: https://vijayt.com/post/performance-problems-using-knockout-observablearray/

DISADVANTAGES:
1) Lacks updates.
2) Popularity: less than 3% (as per 2 Oct 2020 article: https://www.altexsoft.com/blog/engineering/angularjs-vs-knockout-js-vs-vue-js-vs-backbone-js-which-framework-suits-your-project-best/ )


3) Maturity: Legacy

Comments

Popular posts from this blog

Upgrading to .NET8 from desktop versions 4.8.X

JSON Web Tokens

GHL > Set website so shorter URL address