Comment by austin-cheney
2 days ago
Everybody complains about performance. Slow software feels like poison.
Except, anything written with a large JavaScript framework is allowed to be slow. In fact slow as syrup is strongly encouraged. To prove it just ask the developers. Mention it could be 8-50x faster just by not using their favorite framework and note the response. Even better, show them a proof of concept and take note of their unemotional objectivity.
This has nothing to do with the frameworks though. Almost every listed step of delay there is due to specific software design choices, not JS level stuff. For example search - why isn't every possible next letter prefetched before you even select it? It's trivially cacheable at local nodes anyway. Why isn't the first few seconds buffered by the time you open movie description? How is the UI even possible to be laggy - there are way larger services using react without issues.
Non-constructive reply: Developers have been burned too many times by snake oil vendors and "solutions" that only work for toy examples. Also, I've never seen being slow to be encouraged anywhere. Most consider it an acceptable tradeoff though.
Constructive reply: What would be an approach to writing a large web frontend (large as in, many pages and controls) without using a large framework?
I'm asking this because I know how to do it in React but also how to do it "the old jQuery way" (or equivalently, using today's standardized builtins). Productivity is easily 100x larger with React.
edit: Ideally, together with a link to an example open-source application that does it that way, to understand how it works and feels at (code) scale.
> without using a large framework?
I have explained this countless times. It rarely sinks in and quite often is met with hostility, so I don't bother any more. The problem is simple: its where people stake their career. Do they build their career upon writing original applications or upon using a tool? This difference is rather extreme.
By the way, without React shouldn't default to jQuery. If that is your perspective of reality you are already at the maxim of your potential.
> By the way, without React shouldn't default to jQuery
I never claimed it does. I stated my experience to give context for my question for other solutions than React.
> The problem is simple: its where people stake their career
I meant my question to be about building a large frontend without a large framework, purely in technical terms. This has nothing to do with career choices.
> link to an example open-source application that does it that way
My experience is with this: https://github.com/Dolibarr/dolibarr (what I currently work on is quite similar, but it's not open source).
It works fine. Clients don't complain about the interface. The project has been going on for 20 years or so now, and doesn't need big refactors every time a dependency gets updated because it avoids dependencies.
Thanks for your reply. This seems like it builds the UI almost completely in server code, which I usually avoid these days because in my experience, it causes other problems. I should have mentioned that in my question.
In short, user experience and efficiency is sacrificed everywhere for development velocity, time to market and monies.
This is embodiment of worse (for the customer) is better (for the business) adage.
That is a rather generous comment. As a former JavaScript developer I can tell you the qualities of concern are not the business concerns of delivery. Delivery will increase just as dramatically by reducing the tech debt imposed from unnecessary code. All that really matters is solving for developer anxiety.
> All that really matters is solving for developer anxiety.
This is a new and interesting insight to me. Can you please elaborate it a bit further, if you wish?
1 reply →
> anything written with a large JavaScript framework is allowed to be slow
also word, excel, ...
(which might actually be a large javascript framework on azure nowadays)