I'm working on a social media-like website and I'm torn between choosing my tech stack. Initially, I was considering using a full stack Next.js application, but I have a solid background in Spring Boot. Additionally, I'm looking to create a mobile version using React Native, and I'm wondering if a serverless approach with Next.js might be worth it. Should I stick with the full stack Next.js for everything and use its API for the mobile app later, or would it be better to clearly separate my frontend and backend by going with Spring Boot? Also, I've been researching options and I'm curious if frameworks like Hono or Fastify could be better alternatives for my backend setup.
4 Answers
If you have multiple frontends, it's best not to tie your backend to just one of them with Next.js. Keeping them separate could save you some hassle down the road!
If you're comfortable with Spring Boot, there's nothing wrong with using it. Just figure out how you want to implement the frontend and go from there!
For scalability and mobile compatibility, I'd suggest a separate backend. Stick with Spring Boot since you're already familiar, or try a lighter option like Fastify or Hono. This way, your backend can efficiently support both your web app (Next.js) and mobile (React Native) through a shared API. While full-stack Next.js has its perks for quick projects, keeping them decoupled gives you more flexibility in the long run.
I recommend going with Spring Boot if you plan to develop for mobile later. Keeping the API separate is definitely a smart move because it lets you manage the logic for both platforms more easily. Plus, Spring Boot has great libraries for security, which can come in handy.
Totally agree! But I kind of prefer working in TypeScript for both frontend and backend. Do you think using a separate Node backend like Hono or Fastify would work better?