Why Next.js Doesn’t Feel Like ‘Just React’ (Beginner’s POV)


When I first jumped into React, I honestly thought I was on top of things - you know, components, props, hooks, and all that good stuff. But when I tried Next.js, it felt... kinda familiar but also like it had a secret sauce I wasn't ready for.
Here’s what stood out to me, being pretty new to it all 👇
1. React Feels Lightweight, Next.js Feels Fully Loaded
With React, I felt like I was building my own setup. Need routing? Grab React Router. Want state management? Add Redux or Zustand. Basically, React hands you the bare bones and says “Go build!”
Next.js, though? Man, it comes with a full kit! Routing, API routes, SSR/SSG, image optimization — all baked in. As someone starting out, it felt weird at first. Like, I wasn’t used to having everything ready without searching for more libraries.
2. Routing Is Way Easier
I remember setting up React Router and getting lost in configs. With Next.js, it blew my mind: just create a new file in the pages/
folder, and you’ve got your route. No config, no headaches and just name the file, and it works. I was like, “Wait, is that ALL I have to do?!”
3. Backend Feels Closer
Coming from React, backend stuff felt like a whole separate world. Express, Node, APIs and lots of setup. But Next.js let me create an API route by just making a file in /pages/api/
. Suddenly, “fullstack” didn’t feel that scary. I could write backend code right inside my frontend project. That shift made me feel I was levelling up.
4. SSR/SSG Makes Performance Smarter
React does its thing in the browser, all client-side. Next.js lets you render on the server (SSR) or pre-build pages (SSG). I didn’t have to worry so much about SEO or slow first loads. The framework felt like it had my back for performance and SEO. Before Next.js, these felt like problems for “advanced devs”, suddenly I had solutions out-of-the-box.
5. Environment Variables Confused Me (But Next.js Helped)
Real talk: I once put my Gemini API key in a React .env
file and thinking it was invisible. Next thing I know, it was exposed in the browser. Oops. That’s when I learned that in React, front-end environment variables aren’t really private.
In Next.js, there’s a clear split:
Variables starting with
NEXT_PUBLIC_
are exposed to the browser.Others stay on the server side (hidden).
So yeah, for me Next.js felt like React but supercharged. Easier setup, backend magic, faster pages, and safer secrets. Switching over wasn’t just about a new framework, it changed how I thought about building web apps.
Subscribe to my newsletter
Read articles from Habibur Rahman directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Habibur Rahman
Habibur Rahman
Hi! I’m an aspiring Full-Stack Web Developer currently pursuing my Bachelor of Computer Applications (LPU). With a solid foundation in C++, Data Structures & Algorithms, and a growing skill set in web technologies.