Libraries versus Frameworks versus Toolkits for Noobs

The definitions of library, framework, and toolkit are fuzzy. When I first googled the subject, the most common response I read was something obscure about inversion of control. Any noob worthy of noob status would be wrinkling their forehead at this. You call the library but the framework calls you? WTF does that mean? So, before diving in to noobier explanations, just know that there are shades of gray between each category. For example,  Django can be referred to as both a framework and a library for Python. Toolkits can be libraries. Frameworks can be libraries. But libraries can’t be frameworks.

Libraries, together, can form a toolkit or framework.jQuery is an example of a programming library

A library is a collection of resources used to perform tasks that are often used in web development. It’s a collection of pre-compiled modules that you can use in your program.

In addition to pre-written snippets of code, the library may also contain documentation, configuration data, and other files that support the operation of the modules. Basically anything that helps with routine tasks.

An example of a library is jQuery. If you download the jQuery library, and link it to your application, you can use a few lines of jQuery to do something that would take many more lines of JavaScript.

In order to conceptualize the other two terms, framework and toolkit, it helps to use the analogy that we conventionally associate with those terms. Construction. If we were building a house, a framework would be a premade frame for our house. A programming framework is conceptually similar to a construction framework, giving you the basic structures of a house.On that framework, we could say, “I want to add a door here.” We could get a premade door and put it in our house framework. Without the framework, we’d have to buy every beam of wood and every nail, and build everything from scratch.

In programming, a framework is a collection of codes that you can use so that you don’t have to write all the code for common or repetitive tasks yourself. Before frameworks, if you wanted to build a web application, you would code the whole thing yourself.

An example of a framework is Bootstrap. Bootstrap is a collection of commonly used front-end snippets of code for things like buttons, grid layouts, tables, navigation, and more. If you were writing the html and css of a website, and you wanted to insert a Illustration showing the difference between a basic html button, Bootstrap buttons, and Bootstrap buttons with Font AwesomeSubmit button onto the page, you could use the html5 button tag, but it would look like an ugly, boring, old-fashioned button unless you styled it to look the way you wanted it to look. Bootstrap takes popular styling choices and codes them for you, so all you have to know is the bootstrap lingo for button, instead of all the html and css codes needed to make it look pretty. You could also use the Font Awesome toolkit to add icons on your buttons. Font Awesome is like a specialized Wingdings font.

There are also frameworks for back-end languages. Django, for example, is a framework for Python.

Our toolkit would contain tools that help us achieve certain tasks. Just like in construction, a toolkit is a set of tools designed to perform useful functions. Each tool is its own little mini-program. A software development kit (SDK) is an example of a toolkit. programmer's toolbox with html css javascript code modulesIf you wanted to make an Android app using Java, you would download the Java Development Kit (JDK) because you would need those tools to develop that platform-specific app.

Leave a Reply

Your email address will not be published. Required fields are marked *