Live data from Hacker News

Ask HN: Why did Frontend development explode in complexity?

news.ycombinator.com

11–20 of 398 posts

Re: Ask HN: Why did Frontend development explode in complexity?

#11
I get the impression making a web app was considerably more difficult for a solo developer pre-jQuery. For a while we had an explosion of choices, and ultimately things coalesced around React and similar paradigms. Meanwhile the per-capita productivity has been skyrocketing as increasingly sophisticated cloud services provide everything from raw key-value storage to turnkey caching and auth solutions.

Is it more complex than single-device programming? Perhaps, but the modern browsers represent a nearly universal platform with very low per-user complexity.

Re: Ask HN: Why did Frontend development explode in complexity?

#12
It's artificially inflated and I'm seeing this in almost all areas, not just frontend.

Some of the projects I've seen could have been reduced in size multiple times with no effect on the outcome whatsoever. In one instance I rewrote a GUI app and made it 15 times smaller (!), that's my absolute record to date.

Been wondering for years, so you need to actually be inventive to add unnecessary complexity, it's not that it comes for free or because of incompetence (though that too of course). And a lot of the times it looks almost as if software engineers do it on purpose, sometimes very creatively at that.

Where is this coming from? Is it because we want our work to look important?

Re: Ask HN: Why did Frontend development explode in complexity?

#13
post #2

This will be a posting, which either receives no to little responses or will have 256 responses within the next couple of hours :) I am sure, there'll be quite a few who'd argue that this is necessary complexity, but my take on this definitely is the latter - artificially inflated But it's not only the web . Same happened to Java in the 2000s and is currently happening to Android. Any mainstream Java job is more conf…

Well why reinvent the wheel with ie Spring in Java - you want well tested automatically scaling thread messaging bus for example, just configure existing stuff. Maybe its boring to some devs, but business like boringly stable tools, and they are the ones paying for our work.

Would you like that architects reinvent 'engineering wheels' with every house, bridge or tunnel and do all feom scratch just because its more fun for them? No you want well tested reliable approach, if they are bored a bit even better. Ie nuclear power plants who have some unique hybrid designs are endless source of maintenance delays and additional costs. Software devs just have much more freedom and little regulation, for now

Re: Ask HN: Why did Frontend development explode in complexity?

#14
post #8
post #5

people expect complicated features

Complicated features don't require complicated solutions and processes.

Thats true, but people do crave complexity. If something is "too simple", often people, especially developers, are strangely suspicious of it being useful or competent. Present someone with something doing a couple things well but simply, you'll be normally greeted with a million comments of how it doesn't scale or give enough levers or do this or that.

Re: Ask HN: Why did Frontend development explode in complexity?

#15
post #2

This will be a posting, which either receives no to little responses or will have 256 responses within the next couple of hours :) I am sure, there'll be quite a few who'd argue that this is necessary complexity, but my take on this definitely is the latter - artificially inflated But it's not only the web . Same happened to Java in the 2000s and is currently happening to Android. Any mainstream Java job is more conf…

Well why reinvent the wheel with ie Spring in Java - you want well tested automatically scaling thread messaging bus for example, just configure existing stuff. Maybe its boring to some devs, but business like boringly stable tools, and they are the ones paying for our work. Would you like that architects reinvent 'engineering wheels' with every house, bridge or tunnel and do all feom scratch just because its more fu…

Not necessarily reinvent the wheel, but not build the same glass buildings all across the world either. Your analogy is not that far off. Real world architecture is quite the same.

Re: Ask HN: Why did Frontend development explode in complexity?

#16
Because the browser nowadays is an "operating system" that needs to be capable of handling all manner of dynamic software: maps, video, image editors, games, etc. I haven't done Windows development, but I assume browser-based development complexity will continue trending towards essentially the same complexity as developing e.g. a Windows program.

Re: Ask HN: Why did Frontend development explode in complexity?

#17
Why? I think mainly FOMO. When react was out with the blessings of Facebook people wanted to use the same library. Of course most people didn't really care/understand that their internal crud app for editing invoices wouldn't need that complexity.

I think my answer should answer your second question: This kind of complexity is actually needed on some apps but these apps are a minority.

Programmers love shiny new things and most managers aren't technically competent enough to lease them...

Re: Ask HN: Why did Frontend development explode in complexity?

#19
I still do a mixture of jQuery and whatever I learned from modern JS. I totally missed the boat on everything else. I still render server sided, and rarely run into any issues.

I can simulate any kind of asynchronity with the server trough websockets or boring but effective polling.

It works for me, yet all job offers I see are looking for react or whatever Devs with rails experience. It's like JavaScript totally took over.

Re: Ask HN: Why did Frontend development explode in complexity?

#20
For JavaScript, two main factors both driven by fairly mundane and well accepted SWE principles:

1) npm encouraged small, "single responsibility" packages/libraries

2) developers are encouraged to never "reinvent the wheel", leading to them to pull in these libraries without considering the tradeoffs

In other engineering disciplines people are taught to consider tradeoffs more than in software engineering.

The tradeoffs of depending on npm packages are:

1) You don't need to reinvent the wheel, i.e. you can build very feature-rich applications at high velocities

2) Tracking, researching, integration, maintaining, and (for longer lived projects) migrating from package-A to package-B can cost way more time and energy than you'd initially think

3) Almost all packages are open source, so maintained in an ad hoc way by the contributors to the project. Even the biggest, most cohesive, well planned projects under the umbrella of tech megacorps sometimes fall into stagnation and maintenance hell. "react-scripts", which underpins the de facto standard way to bootstrap react apps "create react app", hasn't had a patch version released since Facebook pivoted to the Metaverse.

Answer to follow-up:

No, you can absolutely write modern, feature-rich front-end applications without any dependencies. You'll spend significantly more time writing lower level code allowing you to render your data into some kind of view, manage form inputs, app state and routing, but if you're disciplined and determined it's totally possible to do.

Post reply on HN