What to learn 2: Frameworks
This is the fourth part of this article. If
you haven't read the first three parts, I suggest you do so before proceeding.
However, if you're caught up, let's move on to understanding frameworks and
which ones a full-stack developer should learn.
What exactly
is a Framework?
A framework is a set of tools and libraries
that can be used to build an application or software. Imagine you're building a
house from the foundation up. You'd have to buy blocks, mix cement, and pour
concrete. But what if you had a place to buy pre-built walls or a complete
roof? You could simply assemble and customize your house instead of building
everything from scratch. That's how frameworks work - they provide structure
and components so you can build your application more easily without writing
all the code yourself. Hopefully, that explanation is clear enough!
Now, the question is: what frameworks should
you learn as a full-stack web developer?
While many frameworks exist, I'll stick to
frameworks for the languages we discussed in the previous article.
Note: HTML and SQL do not have frameworks.
CSS
Frameworks:
Bootstrap and Tailwind CSS are both CSS
frameworks with various functionalities, strengths, and weaknesses. You don't
have to learn both, but mastering at least one is crucial. Bootstrap is an
open-source toolkit providing CSS and JavaScript files that make styling and
creating interactive frontends easy. Tailwind CSS, on the other hand, solely
focuses on styling. I won't recommend one over the other, but I urge you to
learn at least one and gain basic knowledge of the other to understand your
preferences. Other frameworks include Foundation, Bulma, Materialize, Semantic
UI, Tachyons, etc.
JavaScript
Frameworks:
JavaScript boasts the largest collection of
popular frameworks, most built for specific purposes, while others are more
general-purpose. Based on popular opinion and market surveys, here are some
frameworks I recommend you learn and their purposes:
-
React: for
building user interfaces
-
Vue.js: for
developing simple and complex web applications
-
Angular: for
creating large-scale applications
-
Alpine.js: for
developing simple and complex web applications
Other frameworks include Ember, Backbone,
Nuxt, Svelte, etc. While these last four are less popular, knowing they exist
and considering learning them can be beneficial for certain projects.
PHP
Frameworks:
Some of the most popular PHP frameworks
include Laravel, Symfony, CakePHP, CodeIgniter, and the newest addition,
NativePHP. Although many others exist, I advise any PHP developer seeking a
framework to choose LARAVEL.
WARNING: This
advice may be biased because I am a Laravel developer who hasn't tried other
frameworks. I recommend readers research other frameworks before deciding.
Python
Frameworks:
Popular Python frameworks include Django,
Flask, Pyramid, and Tornado. Others are FastAPI, Bottle, CherryPy, and Falcon.
Given that I'm just starting with Python,
I'll only advise you based on popular opinion to start with Django if you want
to learn any Python framework.
A Few
Warnings to Note:
·
Don't learn any framework without learning the basics of the
underlying programming language first. It will take you longer and make
learning and understanding more difficult.
·
If you don't know any frameworks, you've automatically made
yourself obsolete.
·
Mastering at least one backend framework ensures you spend less
time developing your website.
·
For frontend frameworks, learn as many as you can, as most
frontend frameworks can be integrated with most backend frameworks. The more
you know, the better.
·
Knowing frontend and backend frameworks is useless if you don't
know how to integrate them properly.
·
Frameworks are updated more often than programming languages, so
keep track of changes and when updates are available.
Hopefully, this gives you a good idea of
frameworks to start learning. See you in the next article!
Comments
Post a Comment