Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the major difference between a framework and a toolkit? [closed]

Does a framework allow you to abstract generic code - but not in a complete way (Ex: Abstract a network connection - but not what you actually do with the data), and does not solve any particular common requirement whereas a toolkit has solutions to generic problems(Ex: Dialog box widget)?

Real world Example: Prototype is a "framework", but Dojo is a "toolkit".

So my question is, what is the criteria to call something a framework vs calling it a toolkit?

like image 788
Thiyagaraj Avatar asked Sep 12 '09 17:09

Thiyagaraj


People also ask

What is the difference between toolkit and framework?

A Framework enforces you write code in its term. Frameworks call your annotated or marked code. A toolkit is a set of functions. Your code calls functions of a toolkit.

What is the difference between a toolkit and an SDK?

An SDK will still usually have a single focus. A toolkit is like an SDK - it's a group of tools (and often code libraries) that you can use to make it easier to access a device or system... Though perhaps with more focus on providing tools and applications than on just code libraries.

What is the main difference between framework and library?

Libraries provide developers with predefined functions and classes to make their work easier and boost the development process. Framework, on the other hand, is like the foundation upon which developers build applications for specific platforms.

What is difference between framework and IDE?

An IDE is an application used to write and compile code. A framework is generally a software component that someone else wrote that you can use/integrate into your own project, generally to avoid re-inventing the wheel.


2 Answers

Quoting Martin Folwer in his article on Inversion of Control:

Inversion of Control is a key part of what makes a framework different to a library. A library is essentially a set of functions that you can call, these days usually organized into classes. Each call does some work and returns control to the client.

A framework embodies some abstract design, with more behavior built in. In order to use it you need to insert your behavior into various places in the framework either by subclassing or by plugging in your own classes. The framework's code then calls your code at these points.

So in short, the big difference is that your code calls a library while a framework calls your code.

like image 150
Pascal Thivent Avatar answered Nov 01 '22 15:11

Pascal Thivent


Framework enforces some design pattern on the developer and give some tools for code generation. This sits well with my first sentence, as it generates code in a certain style/pattern.
Library gives you functionality for you to use as you wish. Like the stdio functions of C, Console of C#, The "built in" functions of PHP etc
You can regard a library as a kind of API

like image 43
Itay Moav -Malimovka Avatar answered Nov 01 '22 16:11

Itay Moav -Malimovka