It’s always nice to have a set of working tools before you start building that piece of furniture. Imagine having to build a dining table and its chairs without any tools. That means you have to build the tools you need alongside the furniture. You’d need to make a hammer, nails, drill, tape measure, saw, glue…and whatever else is used to build chairs and a table.
What are frameworks?
Think of frameworks as the set of properly working tools and the dining set as the application you intend to build. Frameworks act as a set of tools to make it easier for programmers to build applications.
Frameworks are built on top of programming languages. For instance Angular, React, Vue.js are built on Javascript therefore are Javascript frameworks.
I have used a couple of frameworks and I’ve come to appreciate the weight they carry making it easier for me to build an application than it would otherwise.
How to use frameworks
Use a framework side by side with its documentation. Documentation is the manual of the framework. The documentation is usually available on the respective framework’s official website. It has been written by the creators and contributors of the framework therefore guaranteed to be reliable and effective. Even when the framework is changed, its documentation is updated.
Before settling on one framework, I go through its documentation first to find out if it suits my needs.
Do I need to learn the programming language if I can just use a framework?
Frameworks do all the heavy lifting, but it is still necessary to learn the programming languages they are built upon. If you’d want to use the Django framework, then it is important to learn the Python programming language. This makes it easier for you to use the framework because you already understand how it works and why it works that way. Also frameworks don’t solve all programming problems. Some you will need to solve yourself using the knowledge you have of the programming language.
Advantages
- Development time is much faster
- Code is well structured for the developer
- Duplicate code is avoided
- Code remains consistent
- Testing and debugging is easy especially for developers who did not originally write the code
- Some functionalities have been tested making the application reliable.
There are frameworks web applications, mobile applications, database management, data science. It is up to the programmer to find what best suits their needs.
What are your thoughts on software frameworks and which ones have you used?