Table of contents
2021 was a very productive year for me skill-wise, enough that I can call myself a full-stack developer. I worked with different languages and frameworks and here's the best I've picked that I see myself using in the near future.
Next.js
I’ve used Next.js for the frontend in almost all applications I’ve created in the last 3 months and I’d like to continue doing so. In my opinion, Next.js is the best JavaScript framework out there right now. Here are some of my favourite points -
- It is React code, so there is barely any learning curve if you are already a React developer. It also has improvised versions of HTML tags like Image, Link, Script, etc.
- File-based routing, which means you don’t have to write code to set up routes.
- It has server-side rendering which is SEO friendly and it also gives you more server-side control over the requests you make by using functions like getServerSideProps, getStaticPaths, etc.
- It has an API, which means you can have the frontend and server-side code in the same codebase.
- Also, Next.js 12 has the new Rust compiler for faster builds, middleware and Edge functions.
Overall, I feel Next.js is a great framework for what it offers in terms of functionality and convenience to code in it. I’m looking forward to making more and more projects with it next year :)
Next.js Crash Course
Next.js Dev To Deployment Full Course
TailwindCSS
I’m a huge advocate of using plain CSS for styles, but since I’ve used Tailwind, my opinion has kinda changed. I’m still someone who would not recommend CSS frameworks for beginners, but for me, Tailwind is a framework that takes care of the little things like element sizes, alignments, etc. Some of my favourites about Tailwind -
- It’s Low-level, offers multiple customization options.
- Simple utilities by default, easily customizable.
- Tailwind v3 and ‘Just-in-Time’ to compile only the used classes and provide reduced build times and build sizes, more importantly.
- Easy to handle responsiveness and set up dark mode.
- A beautifully maintained documentation, very easy to look for solutions.
Writing good CSS is not easy and is definitely not for everyone. Ever since I’ve started using Tailwind I can figure out that the UI looks a lot better and I spend a lot less time trying to fix broken navbars and other UI issues and get to focus more on the app logic and the backend.
TailwindCSS Different Installation Steps
TailwindCSS v3 Crash Course
PostgreSQL
The first time I was introduced to databases and database management, the language I learned was SQL. Since then, I’ve been comfortable using MySQL databases. I then learned about Postgres and how it’s been out there used as a primary database solution in production for a long long time. I used it for the first time in an internship where I was writing an API. I’ve not used no-SQL a lot so I can’t comment how better or worse it is in comparison.
It’s just that I’m more comfortable working with relations, primary keys and other SQL stuff, which is why I see myself using Postgres going forward.
Supabase
I already mentioned Postgres, but Supabase is a BaaS which I learned about earlier this year. I was looking for a database service that was capable of streaming real-time data since I had a hard time writing WebSocket logic on the server-side. I’m so glad I found it!
- It’s Open Source, always getting better
- Has a pretty generous Free Tier
- Has a Postgres Database with custom PostgREST API and client-side libraries for easy setup and use.
- Has Auth functionality and supports a bucket load of social platforms for third-party auth.
- Speaking of buckets it also has a Storage service and 1GB of free storage.
It is really convenient to use something like Supabase as a backend since you don’t really have to write extra server-side code for it thanks to the API and you don’t have to deploy it as well.
Supabase Crash Course
Supabase Magic Link Authentication with Next.js
So that’s my tech stack going forward, nothing fancy but it’s super convenient to work with. I hope you liked this thread, feel free to also share your favourite tech stacks. See you soon :)