Recently, I came across an article, which listed famous frameworks for Back-End Development. In this regard, I compiled this piece of information for beginners. It contains a short intro of framework in discussion, usage in industry and free tutorial which beginners can use to master that framework.
So, let's dive in!
1. Express :
Due to skyrocketing popularity of Node.js, Express is quickly becoming one of the most trending frameworks nowadays.
Express provides a fast, minimal and quick API to make RESTful APIs. It's relatively easier to setup and is easy to learn.
Usage in Industry : Popular in Accenture, Uber, IBM and many other companies.
Tutorial : Express.js & Node.js for Beginners - Full Tutorial
2. Django :
Django is an MVC framework of Python. It's also one of the most popular frameworks of the modern times.
It provides built-in APIs and generic classes for building secure web applications.
Usage in Industry : Google, YouTube, Instagram and many other companies.
Tutorial : Python Django Web Framework - Full Course for Beginners
3. Rails :
Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License.
Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. It encourages and facilitates the use of web standards such as JSON or XML for data transfer, HTML, CSS and JavaScript for user interfacing.
In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don't repeat yourself (DRY), and the active record pattern.
Usage in Industry : Popular in Airbnb, GitHub, Hulu, Shopify and many other companies.
Tutorial : Rails Beginner's Tutorial
4. Laravel :
Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller architectural pattern and based on Symfony.
Usage in Industry : Popular in 9GAG, Pfizer, BBC, Shopify and many other companies.
Tutorial : Laravel PHP Framework Tutorial - Full Course for Beginners
5. Spring Boot:
Spring Boot is a Model-View-Controller framework that uses Java, the all-time popular language.
Spring Boot possesses many sister projects that boost its performance and let you scale your business quickly. The fact that it uses Java, a strongly typed language, is a severe pro to many web developers. The learning curve might be quite steep tho, especially if you don’t know Java.
Usage in Industry : Websites like Wix, TicketMaster, and BillGuard are users of this framework.
Tutorial : Spring Boot Tutorial for Beginners
Happy Learning !!!
I am Saeed Ahmad. I love to write about programming, new technologies and innovation. Follow me for more posts like this one here :
Top comments (55)
I'm not sure it's that important to learn all those frameworks/languages as you never really become a master at anything why not pick one and do it well?
this!
Learning all is not necessary but a mid-level dev should at least know them. For beginners mastery of one language should be the goal. Afterwards, they can move to others.
You never really master anything in the world of programming and to say you have mastered anything is arrogant. I think you've done well with the title of the post it's very click baity. I just hope new junior developers don't think they have to learn them all as you don't and knowing one well will serve you well throughout your whole career
Mastery means one should be good on that language or framework. Everyone knows that you cannot master anything being a human being. I never advised new devs to learn all of them. I re-iterate that one language should be focused. I disagree that knowing one will suffice through whole career. If you work on some fast paced environment technologies also change rapidly and you accordingly as a dev have to evolve with that.
While I do appreciate the benevolent intention of introducing new devs to these frameworks, the title definitely sounds like you're suggesting one to complete all five tutorials. To add value to this article, I would suggest leaving out the descriptions of all the frameworks since they all sound the same, and talk about why you're recommending these tutorials - which should be the focus of this article.
Yup I agree to that. As a developer you are correct, but if you think as a writer, titles have to be a bit of attractive. So, that's why I have made the title like that. Yup. Soon, I would be listing all frameworks, listing their advantages and disadvantages so that the decision is more easier for juniors to pick up the framework of their choice. Thanks for you input BTW.
Each solves the same problems in slightly different ways you learn more by trying out a few of them at least.
Some patterns are explained more clearly in the documentation of one or another framework and their popular libraries.
Sure master one of them, but it doesn't hurt to try out alternatives every now and then.
Yeah master one of them and then also taste others. You never know whenever that one becomes trendy.
Because there is not a single one-size-for-all framework that deals with every situation possible in the most optimized manner. It is always good to explore different languages, frameworks and ecosystems to compare pros and cons.
Though, it is probably a good idea to focus one first so that you know what to compare with others.
Exactly Edward. I suggest the same. Thanks for your input.
No. It is not. It's just to give beginners of an idea of which framework they should choose. Like, if someone knows PHP, then it will be good to get proficient in Laravel as it's more in-demand these days.
Learning frameworks won't help with mastery. Learn HTTP, basic cryptography and database fundamentals. The specific programming language is the least important aspect.
Not at all. HTTP, basic cryptography, and database fundamentals are quite good to know. But, knowing the art of programming is essential too. Frameworks come and go, but they add quite a value in the market. Since they were built to add business value. Fastening the speed of development.
Yeah I agree it's essential. But knowledge of frameworks is also necessary. And it's not only limited to frameworks, every technology comes and goes but you have to learn that accordingly.
These are not programming languages. These are frameworks based on the programming language and they have many different aspects that should be learned in order to actually build something useful.
Yeah exactly.
You are correct. Concepts should be focused more. But learning frameworks is also an aspect of mastery of backend.
What? You should learn every popular backend language and its most popular framework on top?
No! Please don't do that
Pick one language and one framework and then stick with it for one year!
If you go the path of the author you will be the master of nothing!
also the first graph is complete bul***it. The frontend was never as complex as it is right now. Just looking at all the new browser API and PWA's.
and yes the backend is also complex but that because of the trend of starting your project that could be a monolith for the next 5 years with 30 micro services but that is a complete different topic.
The first use of that picture I could find on google reverse image search was in 2017. Even back then it was not true.
No. One should focus on a particular language and stick to that until he's good at it in both backend and frontend. I have just listed them so that newbies can know which frameworks of languages known to them are trending currently.
your title is saying "X X Tutorials you should complete to master the back-end". that's just not true.
A more fair title would be: "You should focus on one of these 5 back-end technologies" or something in that direction.
Why learn a framework when you haven't learned it's language? And why would you want to be a jag of all trade, master of none?
I LOVE being a jack of all trades, master of none. It gives me the flexibility to work on almost any project I want. That's EXACTLY why I do it. Take some time to develop a sense of empathy. THAT will make you a better developer!
I think yes concepts should be focused on. Afterwards, if you reach mid-level of your career, then you need to know at least basics of other frameworks.
I don't think backend is 80% of the effort. I think it's the opposite: front-end apps (spa) take most of the work and logic of an application, the backend just serves authentication, authorization and get and saves data.
Yeah you are correct if we think in the server-side which is older concept and pic in the article also reflects that. If you think in terms of modern web apps, I will say it's 50/50 now. Backend also has many advanced things like caching, different layers, different DBs for different tasks, load balancing etc and client also has got more complex with state management, real time updates to DOM etc.
Think that really depends on the application. If you're working on applications that handle things like billing, email reminders, automated tasks and so on most of the logic would be in the backend.
I am confused in between node.js and django and Laravel. Which i have to prefer.?
Actually i am BCA student. Still i am learning new and new language. Although i can't develope any complete website as my own hand. So give me best advise please.
Hey. Thanks for your comment. I think if you are good on JS, then you should pick up Node.js . Django and Laravel are good but they are a bit complicated when compared to Node.js . Then, practice on it so that you can develop a complete web app. In this way, you will feel more confident.
First of thank uh for your reply. Btw it means i should learn node.js right. And if i want to be full stack developer based on it,then which languages i should also learn. Or from these which should i learn first ?tell me also this.
Neat list. But you don't have to do everything all at once. It might do more harm than good when learning backends. Better to learn the underlying principles which stay more or less the same irrespective of language or framework.
Yup. I have just listed them in case any beginner wants to pursue a language then he can chose given frameworks. However, I completely agree that concepts should be focused instead of languages or frameworks.
Note to newbies: don't get intimidated if you don't know them all by tomorrow. Just make a start.
Note to oldies like me: always a good idea to learn new stuff and this is a great list to start with.
Thanks Saeed.
It is good to know these frameworks or at least learn 2 of them.
I work mainly with Laravel and recently getting into django and was surprised at how similar they are, also RoR. Although at the moment i am working only with PHP based frameworks, getting familiar with one or 2 will not only give you a different point of view. Also it will help you jump ship if that time comes later in your career.
What about C#? Surprised at the lack of mention since the title claims doing these will help you "Master the Back-End" - C# is the preferred language used for Windows backend development...
Hey Rachel. Thanks for your comment. But my article is more focused towards new trends. So, I don't think it is a good idea for a junior to learn C#, if he's starting backend nowadays.
If I may make a suggestion then, I'd change the title to something that indicates that it's focused on trending frameworks/stacks.
As for not suggesting a Junior to learn C#, why not? That's where I started about a year and a half ago and it's treated me very well so far.
Yeah Rachel. I think that it's great if you have enjoyed working with C#, but my personal opinion in this regard is that one should look forward to learn JS or Python. I think that JavaScript has great ecosystem and also you can move on to hybrid or cross-platform like React Native, Ionic or NativeScript. Plus for Python, I recommend it because of it's extensive usage in Data Science and ML.So, if you work on these languages there's a great chance that you would stumble upon something different which may help you in long term in your career. However, overall I think one needs to be familiar with general programming concepts and once you are done with that you can harness the power of any programming language to solve problems. Yeah exactly, it's more about trending frameworks.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.