Hacker News new | ask | show | jobs
by synergy20 972 days ago
the SSR first trend for SPAs finally pushed me away from React(along with Vue,etc). I'm an embedded developer, I can not run node.js on the target, even MVC on the server(i.e. target board) in C or Lua could be too heavy, so SPA with restful was the best option, now all SPAs are turning into SSR-first and making things even more complex, I can no longer justify the time spending chasing the modern frontend any more, I need alternatives.

I'm trying nim for SPA at the moment, also thinking about some C based restful approach(civetweb, ulfius)

https://forum.nim-lang.org/t/2926

4 comments

Or you could keep using react the way you always were
Why would you ditch react because you don’t need SSR? You can still use vanilla React without SSR and serve it statically. It’s not as if you’re forced to use nextjs if you want to use React.
React used to be fine when next.js was a separate effort, now Vercel hijacked the project, and making things even more complex by mixing SSR and CSR, there is a learning cost associated when things and concepts getting larger unnecessarily.
how has vercel/ssr highjacked react?

at work, our backend is c++ and we use react without nextjs or any ssr. if we don't need it, we don't use it.

the newest react is now _strongly_ recommending you start a new react project using next.js, vercel hired many of the react developers for its SSR oriented business, etc.
ok, that makes sense (i also don't like the official recommendation to use next).
Even a Raspberry Pi Zero that costs $5 retail[0] should be good enough[2] to run modern Linux + a node process running Next.js with SSR.

Why do embedded developers pick really resource-constrained chips, when decently powerful chips that can run Linux have become so cheap?

[1] probably even cheaper if purchasing B2B, in bulk

[2] i.e. should have enough CPU (1 GB) and RAM (512 MB)

I work with a frontend app that talks with microcontrollers that have 2mb of ram, they don't run linux and can't even support an HTTP stack. We actually use UDP to send messages to them (through a thin native layer in our app)

I don't remember the exact numbers as I don't work with the manufacturing side but the budget for our microcontrollers was <0.5 USD per microcontroller

> Why do embedded developers pick really resource-constrained chips, when decently powerful chips that can run Linux have become so cheap?

1) Often you have multiple microcontrollers per device

2) It just follows a general trend with industrial manufacturing of always trying to find ways to cut costs. It is not just microcontrollers, after a product is finished, v2 will always strive to cut costs and be cheaper. Components costs grow linearly with production volume. If you sell a million of devices with a 5 USD chip that is 5 million dollars that could have been spent on R&D (maybe like 5 devs working on it full time for a year)

3) Sometimes the microcontrollers are dedicated for security/safety, those you don't want to run linux on because it makes them harder to QA and certify (non determinism doesn't play well with safety). You want them small, lean and as simple/dumb as possible

4) Sourcing problems, advanced chips are harder to source in higher quantities, especially lately. Crappy microcontrollers can be bought like buying legos at the lego store

5) Size, reliability and heat constraints. Bigger chips are harder to integrate into a custom board, require more power and could generate enough heat to cause problems. Integrating a Raspberry CM requires a custom connector with like 50 wires or so and wiring it can be really annoying/error-prone

One of our systems had a Raspberry CM3 before, it was the first thing on the chopping block for the v2. Apparently it was the most expensive single electronic component of the whole system.

> Why do embedded developers pick really resource-constrained chips, when decently powerful chips that can run Linux have become so cheap?

There are other things to consider, like power consumption, size, reliability, IO... It's a totally different class of hardware.

But vue is SPA only. And Has No Direct relation to SSR framework
true, the only one remains sane so far, but I'm unsure how long that will last, I lost confidence in frontend as far as keeping-getting-unnecessarily-more-complex is concerned