Hacker News new | ask | show | jobs
by bzzzt 1440 days ago
> I've built apps for big clients using React (and SSR, FWIW). You pick your package manager and build system at the start of the project, and then you generally stick with it until (well after) the end of the project.

Those big clients throw away their software at the end of the project? That's what bugs me about Javascript: the Java/.NET/PHP server-side rendered applications from 10 years ago can be moved forward. Not painless, but if you want you can adapt them to run on a modern stack while with Javascript frameworks from 10 years ago you mostly have to start over.

1 comments

> Those big clients throw away their software at the end of the project?

Nope. Not at all. They're still in use, and still being further developed. None of it's been thrown away. Some things have been updated over time (in a managed way, e.g. newer React versions, updated build system, extra/better build-time tooling). New features have been added to the software. No problem hiring devs to do the work, React is a known quantity. The back-ends are a known quantity. All the apps are still a fairly modern stack: from front to back. No problem moving them forwards and implementing any of the things the customer/management wish for. All pretty painless.

— Some of the apps I refer to here were in fact a start-over from exactly what you describe, because that simply wasn't working out (for various different reasons on different apps, but one reason was the UI wasn't working as folk expected it to, in some cases wasn't responsive enough, etc).

Some apps are simply best done as a SPA. Horses for courses, innit. It's just a different kind of software development at the end of the day. It's not necessarily any less manageable to use React/similar in one's project(s). And we chose React because of what it brings to the table plus we could clearly see it would be well supported for some time into the future. — In fact we found React (plus the appropriate libraries) permitted very fast development / iteration, particularly compared to when one reaches the edge of what can comfortably be done using pure server-side rendering, and/or SSR plus 'spot' Javascript usage.