Mission Accomplished
Our application runs mostly on Knockout functionality, which allows us to easily populate dynamic elements with content, add event handlers, and generally manage the state of the application. We use jQuery too, mostly in a DOM selection capacity, and also occasionally when we wish to use a utility, such as the $.each()
method that we leveraged several times.
It would have been equally as possible to build this application purely using jQuery and without using Knockout at all; however, jQuery itself was never designed nor intended to be the complete solution to building complex dynamic applications.
What we generally find when we try to build complex dynamic applications using jQuery alone, is that our script very quickly becomes a bloated mess of event handlers that is neither easy to read, or maintain, or update at a future point.
Using Knockout to handle maintaining the state of an application, and using jQuery to fulfill the role it was intended for, gives us the ideal...