What we will cover
1. Introduction
2. Top technologies
3. Conclusion
2022 has challenged me in various ways and these challenges helped me to learn and use some very useful technologies here is a list of some of the most useful technologies I have used in 2022.
Strapi is an open-source headless CMS (Content Management System) that helps build backends for your websites or apps. Strapi provides you with a very easy way to build APIs around your data entities also known as "Content-Types". Strapi has many more amazing out-of-the-box functionalities like Authentication with multiple providers, image uploads, emailing, and much more. Strapi is very customizable and allows you to create your custom endpoints. Strapi also has great documentation and I would highly recommend going through it if you want to learn everything you need to know about Strapi.
This is one of the most amazing technologies I have learned and used in so many places this year from CI/CD pipelines to setting up development environments. Docker is a container software that helps with running software in isolation. Setting up a database has never been easier. Using docker in your project is almost a must and you won't regret spending the time to learn how to use docker. I was able to explore so many other amazing technologies just by having docker knowledge.
One of if not the most popular frontend React frameworks for building frontend / full-stack apps. NextJS has many advantages like having multiple ways of fetching data for the client and rendering the client in multiple different ways. NextJS also delivers a great-performing website and has a great developer experience.
Material UI is a React UI library that has almost every component you will need for most apps. It is very easy to use and very customizable and has great documentation. MUI in combination with NextJS makes a great team for building stable and consistent frontends.
React Native is a framework used to build truly native android and iOS apps. Using React we can build native apps with only one codebase. React Native is easy to jump into if you are already familiar with React.
Dokku is an open-source PaaS (Platform as a Service). Once Heroku removed their free tier I needed to jump to learn how to deploy apps and set it up like Heroku and I found Dokku which is pretty much Heroku but free. Still, some setup is required but it is as easy as running a few commands and you have your own Heroku setup ready to go. Dokku uses Docker in the background so having Docker knowledge will be beneficial when learning Dokku. Dokku has a very consistent and easy-to-learn API that helps you set up servers for development or production in no time.
GitHub has its own CI/CD service that allows you to set up pipelines on your GitHub repositories. This is such a great service and makes getting started with automation pipelines so easy and it also has a generous free tier. GitHub actions use Docker in the background to run jobs. I would use GitHub actions in combination with Dokku to deploy my websites and APIs to staging and/or production servers. This combo basically gives you Heroku setup all for free.
ESLint is a linting checker tool for your codebase and will help enforce best practices. This is very useful when working as a team on a codebase. It will allow you to write consistent and clean code. Prettier is an automatic formatter that makes development easier as you only need to focus on the coding not the formatting and indentation of the codebase. The combination of ESLint and Prettier is amazing this will make your codebase so much more consistent professional and easy to maintain.
This is a free browser development tool that tests the performance of your website based on all the important measurements to show you where your website might have issues. This is not hard to use just good to know about as I would suggest always running your site through Lighthouse to check what can be improved to help you build the best-performing apps you can.
I would highly suggest all the technologies covered in this blog. 2022 has taught me to use tools to work smarter not harder, doing things from scratch just takes too long, so why reinvent the wheel? Hope you have found this blog insightful