That leads to two questions: 'Why are there more and more web frameworks?' and 'Amongst so many web frameworks, which one should we learn?'
With the first question, I will answer for you why. The second question I will not answer is which one to choose, but only suggests to you some options, because it is very difficult to choose by nature.
You can imagine as simple as this, the day before assembling a car, people made each stage by hand.
What is the benefit of this? It makes the assembly more deeply intervened. That means you can drill down into each stage, control it, and get it done as you like. The resulting products will often be very special, very complete.
But the downside is that you won't be able to do so with a large number of cars. Actually, it is possible, but it will be very laborious and costly.
And so the production lines were born, specialized in each step by robot, saving labor and production time much more.
It is the same with the advent of web frameworks. We have to solve a problem over and over again. The framework helps us to simplify it by calling a function that passes parameters, for example.
We meet a project with a similar structure to the previous projects, the framework will help us utilize the code .
In short, the framework was born to make application development easier and easier, standardizing the stages of software development, and supporting repetitive problems.
As I mentioned above, you will have to choose and be flexible in learning frameworks so I will not be able to recommend any one. It depends on your project and your location (front-end dev or back-end dev).
Here are 10 web frameworks (both font-end and back-end) that I found you might consider learning when getting started.
Any framework is based on a programming language. So you should be sure to learn the programming language in which the framework is built.
Exactly, ReactJS is a library (Library), not a framework (framework is different from Library, I will share in a different post).
ReactJS is written based on JavaScript, developed and maintained by one of the tech giants, Facebook.
Released in 2013 and of course ReactJS is also open-source - meaning you can use ReactJS for free.
ReactJS uses a component-based structure - that is, everything in ReactJS belongs to components. Later, many frameworks also came out and had component architecture.
To learn about ReactJS you can refer to the documentation on ReactJS's page here.
Advantages:
Defect:
It is a front-end web framework developed by Google and released in 2016 (Google has just heard it 'delicious').
Before talking about Angular, we must mention AngularJS. This is the precursor to Angular (born in 2010). But due to poor performance, it has been improved to become Angular versions later.
Angular is written based on TypeScript (the same type of JavaScript but more stringent, object-oriented).
Of course, Angular is also an open-source framework so you can use it for free. To learn about this framework you can refer to the documentation here.
Advantages:
Defect:
If a few years ago the front-end web community had ReactJS and Angular proclaimed, then in recent years, more VueJS entered the race.
VueJS was born in 2014 by a Chinese engineer. It can be said that VueJS combines the cool features of ReactJS and AngularJS.
VueJS 'template writing is quite similar to AngularJS, but the file organization is quite similar to ReactJS.
VueJS is also an open-source framework developed by the Chinese community and open-source. You can read more about VueJS here.
Advantages:
Defect:
Before talking about Express, we have to talk about NodeJS, because this is the base of Express. In other words Express is written in nodejs.
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
We know that JavaScript can only be run on the client side (in the user's browser), but later on, nodejs made it possible to write javascript code on the back-end.
Express is a framework written on top of nodejs. It provides us with a lot of powerful features on the web platform as well as on mobile applications.
Some of the features of ExpressJS can be mentioned as:
Learning nodejs and Express is a good choice at the moment.
Laravel is a back-end framework released in 2011, it is written based on PHP programming language.
In terms of structure, Laravel is designed according to MVC (Model - View - Controller) model. Laravel is also an open source with the aim of making coding simple, easy, and secure.
For those of you who do not know about MVC architecture, I will always share because many frameworks are built on this architecture.
We can use Laravel for all projects from small to large. But usually the projects are related to e-commerce sites.
Laravel is considered to be one of the most popular PHP frameworks in the PHP developer community. You can learn more about Laravel here.
Java programmers are probably no stranger to names like SpringMVC, Spring Boot .
It can be said that Spring is an ecosystem, not just a framework anymore, because Spring provides a set of tools for you to solve the problem without having to use other tools.
Spring is built and developed based on two main principles: Dependency Injection and Aspect Oriented Programming.
As I said Spring is very big, it is divided into many different modules. We can use one of the modules depending on the project.
Some outstanding projects of Spring can be mentioned as:
We have covered JavaScript, Java, and PHP related frameworks and libraries and would be flawed if not mentioning Python frameworks.
Django is written entirely on Python and has a full set of libraries to support web programming.
Django is designed according to the MVC model and is developed by the Django Software Foundation which is also an open-source framework.
These are the criteria that Django targets. If you already have knowledge of Python and want to be a web developer, then Django is the perfect choice.
You can learn more about Laravel here.
Next, we will take a look at the face built and developed by Microsoft that is ASP.net
ASP.NET is: ASP is Active Server Pages and .NET is Network Enabled Technologies.
ASP.Net applications can also be written in multiple .Net languages such as C, VB.Net and J
And this is the architecture of .NET technology in general and ASP.NET in particular.
Currently, the C programming language developed by Microsoft is also very popular among programmers. If you have C knowledge, you can learn about .NET technologies for developing web applications.
You can learn more about Laravel here.
Before talking about the Ruby on Rails framework, we must first mention the Ruby programming language.
Ruby is an interpreted and object-oriented language. Ruby provides many programming paradigms, including functional, object-oriented, imperative, and reflective.
You can learn about the language here.
Going back to our Ruby on Rails framework is an open source web framework designed to develop Ruby applications and allow them to run like a real web page. Rails is short for Ruby on Rails.
You can learn more about Rails here.
Finally, I want to mention another framework related to PHP, but perhaps many newcomers may not know.
Also because PHP is still one of the most popular languages right now. On the job pages or job pages you won't find it hard to find PHP-related positions.
Cake PHP is designed in the same MVC pattern as its Laravel counterpart, with some of the highlights of CakePHP as follows:
You can learn more about Rails here.
Using a framework to develop real-world applications is an almost imperative requirement given the security, reuse, and speed of project development and deployment. If you are interested in programming, you can basically prepare in a language and learn to use frameworks to understand and transform them flexibly.
I wish you all good study and see you again in the next articles!