Full Stack development in 2022: trends, frameworks and languages.
Pictured: Joan Cornellà, a full stack developer, SRE, scrum master and artist.
Self-update or be deprecated
The tech industry is continuously evolving, changing, new tools are made every day and new frameworks are created or mass adopted. The point of this post is to glimpse at what's going on, check the current trends and where the industry is headed.
If you ever want to know what language is the most popular a good and don't know where to look the best place might be TIOBE:
Python currently being king but closely followed by C and Java. Let me give a quick explanation on why those languages are the most used.
One of the selling points of Python is just how easy the syntax is and how it almost reads as pseudocode.
Python has libraries for all your needs and despite being criticized as slow it's widely used everywhere. Most projects related to data science or machine learning will rely on Python, not to mention it has three of the most popular web frameworks right now: Django, Flask and FastAPI.
It's the perfect language for beginners but at the same time it's widely adopted everywhere, if you don't know where to start learn Python but good looking trying to figure out the best environment:
Java, owned by Oracle, is enterprise king. Google, Netflix, Amazon, etc use Java in one way or another.
Most Apache projects are also written in Java - if you are curious to why, here's a HN reply.
Learn Java, learn Spring and you will never be out of a job. Check out some of the articles and tutorials on this blog about Java and Spring if you don't know where to start. The first post is: How to Make your first API.
This language went through a lot of iterations over the years to improve the developer's experience. Nowadays it's mainly used as a backend language on the web. It has two of the biggest frameworks: Laravel and Symfony.
However PHP's main use comes from WordPress. If you haven't heard or used WordPress, you should have a look. We don't know the exact statistics but everyone keeps saying that it powers over 33% of the web. Why? It's fast to set up, design and have an e-commerce site ready or anything you'd want, there are millions of plugins and it's fairly easy to use for no-coders.
The perfect CMS, you can have a site with a blog in less than a day and focus on SEO (marketing loves WordPress for how easy it makes positioning) or whatever the business needs.
If you ever hear that PHP is dead or dying, well, just look at the amount of jobs there are.
The big three are there as always there: React, Angular and Vue:
Last year Svelte made a lot of noise and it's slowly being adopted, the docs have improved a lot and after trying it for a bit I consider myself a fan as well for its ease of use.
However it's not the only new kid on the block, I've seen a lot of praise for both SolidJS and AlpineJS.
The results aren't going to surprise anyone, if you are a backend developer you have to know Express:
Although the amount of new tools we got this past year has been impressive:
Testing? Do people actually..?
Yes, TDD is a thing.
Jest or Mocha at the top. The usual.
Bloated apps for mobile and desktop
Nothing out of the ordinary, however I expect Vite to be widely adopted by next year.
Here we have Axios, Lodash, Moment, Redux, etc. Nothing out of the ordinary.
Google has been hard at work this last couple of years when it comes to their tools, and I'm not talking about Kubernetes here or the awful state of the search engine.
If you are a backend developer you probably have noticed the increased adoption of the Go language. Considering that K8s is written in Go and the amount of companies that have started to use it I'd keep an eye on the language and its ecosystem.
Google has decided Facebook (Meta) is too cool with their React Native and who doesn't want to get rid of Electron? Enter Flutter. They might be getting a bit too ambitious here but working with Flutter and Dart is a breeze.
I've directed a multi-platform project this past year using Flutter + Firebase. It's fairly easy to setup and make an MVP, I recommend it highly for a fast paced project where the client doesn't want a pixel-perfect design, perfect for startups.
For anything else? Well, as always, it depends.
What else is out there?
Terraform, serverless architecture, Rust, micro frontends and everything involved in Web 3.0: blockchain, crypto, NFTs, all that jazz.
If you think I'm wrong we can argue on Twitter: hmu @tekbog.
Disclaimer: I haven't talked about C#, C++, Ruby, Swift, R, etc because they are out of my area of expertise.