Home a2c2b070-8ca9-442d-8c2a-a209629ebc1c

Published: 8/11/2024
A couple of days ago, I found myself reflecting on web development with React. I don’t know if it’s just me getting used to conveniences, but the idea of using React without Next.js now feels like a daunting task. As someone who thrives on speed and performance, the thought of working without Next.js, even if it’s slightly slower than React in some cases, makes me hesitate.
Today, I want to point out a few aspects that make me reluctant to choose React over Next.js:
🚫 Complex routing setups: We’ve all experienced the tedious process of setting up routing in React. And when your project is large and needs to scale, managing those routes becomes a real headache.
🚫 The struggle with private routes: Want private routes? Well, get ready to create more components and sprinkle logic across multiple places. Don’t you miss React having a simple middleware solution for this? I certainly do.
🚫 Manual image optimization: Each image has to be manually optimized to maintain performance - resizing, compressing, and testing every one. It’s undeniably a time-consuming process, isn’t it?
🚫 No server-side rendering (SSR): With React, everything is client-side, which often results in slower performance and limited ability to enhance the user experience, especially on slower networks.
🚫 SEO struggles: Without SSR, search engines struggle to efficiently index content, leading to poor SEO and, ultimately, reduced organic traffic.
🚫 Complicated authentication: Setting up authentication involves combining various libraries and third-party tools, making the process unnecessarily lengthy and prone to errors.
These are some of the challenges I face when building apps with React nowadays. If you’ve encountered any other struggles, feel free to share. I’d love to hear your thoughts.