0

I have read on couple of articles that when building a website with react either php or nodeJS or something else is required to have a backend to retrieve data and server side rendering

I can manage data retrieving on react without any backend server (based on my experience with react-native).

I am not sure if server-side rendering is necessary for react?

What are the pros/cons, can the website work without server-side rendering?

3 Answers 3

2

Something has to render the original page being served for React. However, after that, there's nothing stopping you from doing everything else client side. There are tons of articles out there discussing the benefits and drawbacks of doing full CSR (Client Side Rendering) or full SSR (Server Side Rendering). However, I've found that most agree that there's a middle ground that meets the best of both worlds.

However, if your app is relatively small and unencumbered, going full CSR as you're indicating you want to will probably have little or no impact.

Sign up to request clarification or add additional context in comments.

2 Comments

I would not be comfortable creating a DB connection directly from the client.
He didn't say serverless, he asked about server side rendering. The DB connection doesn't have anything to do with rendering.
1

Server side rendering will give you better search engine results and previewing.

You can still use React with server side rendering with a framework like Nextjs. You may just want to initially render on the server side and from then on in use client side rendering.

Comments

1

Really depends on what you're planning to build. Firebase has security permissions for you to experiment to filter out what type of traffic you'd want. However if you are solely dependent on the client then there would be severe consequences for edge cases. What if there was an app breaking bug and someone abuses it, what if someone has an older version of your app and calls bad code? Utilizing nodeJs to call your business side logic is a very important layer of protection since you have one codebase that handles all of this incoming traffic.

So an example of business-side logic that shouldn't be on the client's system: What if you had an important counter say $ dollars that you've spent on that website and it goes into the database once and feeds you that information and you'd save that into local storage until the end of the session. Are there consequences to this if you had multiple instances (hint: they might not all of the same $ amount if you've manipulated that data on the client's side) ? This would be an example of why you'd definitely want to have a nodeJS backend for your React application.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.