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
    Commented 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
    Commented 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
    Commented Jan 6, 2012 at 15:28

Your Answer

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

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