1

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

3

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.

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.