I talked myself into a hole at work, and I need some good ideas to help me better describe why we should include both Dojo and Knockout in our new web project.

A little background: I do mostly computer-computer interactions when I program; updating states, reading/writing to the database -- Knockout is exactly where I want to be.

So I said, "I don't want to use Dojo"...meaning, "I don't want to do client side user experience/visual effects programming". I think it's a great to utilize other people's work, and I think re-inventing the wheel is a bad thing, generally. I just don't enjoy the process as much. But now its turned into an "all or nothing" decision.

Please help me come up with a good way to describe the difference between a library and a web framework, and not in this technical way. I need something simpler to get my point across.

1 Answer 1


The Design Patterns and the OO movement guys had a definition along the lines of:

An application uses parts of a library, and provides the missing parts in a framework.

Django is a framework in which the user provides a data model, page templates, and URL routing information to have a working Web Application. PIL is a library for manipulating images in Python.

  • Im sorry to say this but I used the dreaded "D" word to relate Knockout to an MTV framework. Apparently that was a trigger for my boss. +1 for going where I did! :D
    – yurisich
    Jan 5, 2012 at 18:24
  • 3
    +1, but I like: "A library is the code that your code calls. Your code is the library the framework calls."
    – nlawalker
    Jan 6, 2012 at 4:45
  • +1...I said...look at the <script src='http://....>...notice how it's on the web? That's typical of libraries. Frameworks? You store those in your project (they don't do a lot of things outside of their sole purpose - linking DOM-things to OO-things, and eventually tables.
    – yurisich
    Jan 6, 2012 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.