1,678 karma · joined November 29, 2016
It is not for your end users, just for the developers building it because it has a better dev experience. As a proof of this try most sites out there which are built as an SPA vs the ones built with more traditional approaches.
Also, building SPAs is incredibly more difficult and time consuming, that's why most of them work like shit.
Agree that Django is a backend framework, but Rails is not, you can certainly do frontend in Rails. Just not SPAs, but you need a more open mindset for understanding how it is intended to be used.
Of course, if you are building Google Docs or Maps then you're probably better with a SPA framework. But not for 90% of applications out there which are just CRUD apps.
It had "Java" in the name.... right??? right!!??
What about just using Vue or Svelte if you don't like the way React works and/or is expected to be used?
Thinks such as the performance, the reactivity model, the "gotchas", the ecosystem, the libraries, the tooling, etc are far, far, far more important than "I like IFs done this way".
This is the same thing as when people discard Tailwind because "I don't like reading that many classes". There's so much more behind it to like or dislike it.
> I'm driving or walking or cooking or cleaning.
> It's noise that minimally engages
What's a better alternative? Listen to the vacuum cleaner? to the other's cars engines? To the top 10 reggaeton mix?
I use every single "non thinking" activity I do (like driving, cleaning, walking outside, etc) to listen to things that really interest me, from news about the tech industry, to web dev subjects I'm interested on, to astrophysics and general science divulgation, etc.
The amount of stuff I've learnt and the entertainment provided is invaluable to me, and just using time otherwise I'd be just hating my life for being stuck in a traffic jam.
Transitioning big, heavily used, daily changed by thousands of engineers codebases is not easy.
Do not make it look like just people is incompetent. It is a big financial, management and engineering effort.
Maybe you're not understanding the scale of these things.
And this company has a HUGE codebase. It has its managements problems too, but the situation I'm talking about didn't make it any easier.
The company I was at the time tried really hard to move to python 3. It was a huge codebase with thousands of engineers. After more than a year of work they cancelled the project and said they'll never upgrade to python 3, and instead started writing smaller "microservices" around the core product just to calm engineers anxiety to use python3. Now Django is suffering kind of the same problem with all the async stuff being bolted on, adding a lot of gotchas and side effects and incompatibilities around every corner. It is a mess.
I left that company and I will never use python again.
I love how Ruby seems to care about the ecosystem, and both ruby and rails keep innovating and providing awesome full stack solutions.
So many good memories. I feel old :-s.
I really, really, really love it and feel like this is what 90% of projects need, and maybe the remaining 10% are the ones that need a full frontend framework.
Unpoly augments HTML in a declarative way, it comes with support for navigation, modals, sidebars, popups, forms, validation, etc out of the box and allows you to also add custom behavior if that's not enough. It is backend agnostic so you don't need any special integration in your backend other than it being able to spit out plain old html. It is very "full stack" in the sense you won't need much more (think of it as the non-Rails stimulus + turbo + hotwire +....). Unless you're using Rails and Hotwire, I think Unpoly is the best alternative while keeping things sane.
I work full time as a frontend developer, now with Vue and previously with React. Believe me, in most of the cases the added complexity doesn't make any sense at all.
- Near impossible to hire experienced people - We had to write from scratch a lot of things that are "free" with rails/django/etc - The paradigm change takes time to learn and get it right - Some people were happy to learn it, others didn't want because they knew they wouldn't use it ever again - Many missing libraries in the ecosystem. Some libraries are poorly implemented or abandoned. - Googling for problems wasn't easy, there aren't as many answers out there as you can have for Rails, Django, etc...
But yes, the Erlang VM is awesome, can't disagree with that.
ReactDOM.render(element, document.getElementById('root'), {memo: true});
Just dreaming...
I wonder why React doesn't provide a configuration/flag/option to just do this by default if anybody wants to.
I'm sad I cannot upvote this more than once.