Live data from Hacker News

Ask HN: Why did Frontend development explode in complexity?

news.ycombinator.com

151–160 of 398 posts

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

#151
Too many different platforms to support which causes engineering issues.

For web, you need to support multiple browsers and infinite number of screen sizes.

For mobile, you need to support iOS and android and multiple different OS versions and screen sizes.

You also want to minimize platform-specific code, which often causes you to roll your own way of doing things. From an engineering point of view you don’t want your code based to diverge, which would cause supportability issues and/or lengthen and complicate developing new features.

It’s basically a nightmare for any moderately successful company that doesn’t want to alienate any customers.

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

#152
post #42

Earlier quoted context omitted.

Same for MVC/MVVM and Co specifically on mobile. These things were created to teach beginners a few important concepts, mainly separation of concerns. MVC/MVVM work well on toy sample projects with 2-3 pages but can ruin a larger project. Somehow wherever I'm seeing MVVM applied there's also messy, buggy, impenetrable code around it. I don't think it's a coincidence.

MVVM: yes, in most cases. There are some cases where it's a godsend, but most of the uses I have seen are ... not entirely sane. But MVC? That's pretty minimal in terms of what you're going to do anyway if you have functionality (model) and will be interacting with it (view). Controllers are often misunderstood, and in the case of Apple massively misapplied (Massive View Controllers).

It doesn't help that there are dozens of different definitions of MVC running around. The very clearly uses one that is different from yours.

The thing is that, whatever definition you use, you should have almost all of your code in one of those layers, a small minority on another, and shouldn't even remember exactly how to change the other (unless you start many projects). If that's not the case, your code architecture is working against you.

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

#153
There are two reasons I can think of:

1. The most popular front-end frameworks (e.g. React and Angular) are created by large orgs which naturally leads to extensive codebases as they’ll need to have many use cases.

2. Every new and shiny front-end framework is good for job security since having it on a resume makes you more hireable. I suspect it’s also why some developers practically force startups to switch their front-end codebase to the next shiny framework - resume padding.

As a solo dev I wasted a few years using (and hating) these new frameworks for my Django projects because it’s what everyone was recommending.

Then it hit me when I realized that they were meant for large dedicated front-end teams to increase their productivity. If you’re a solo developer, they actually hurt your productivity.

That’s why I’m so happy with htmx. I can get my sanity back!

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

#154
Related question: what would the folks here recommend for someone that wants to keep the frontend “stupid simple” while not resorting to writing everything in pure HTML/CSS/JS?

I’ve heard mithril.js recommended before but I’ve yet to try it. I have experience with Angular, React, and a bit of Ember and the amount of code and “magic” involved is absurd.

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

#155

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.

I'm a Windows developer and as such I'm biased, but I think Windows apps are dramatically easier to write than web apps. I still use WinForms professionally to this day. Productivity is absurdly high. The number of concerns to worry about is low. The framework has been stable for 20 years and I know all of its quirks, which never change. Fads are ignored. We can zip around with amazing speed. On the other hand, our a…

>I'm a Windows developer and as such I'm biased, but I think Windows apps are dramatically easier to write than web apps.

I agree that the developer-facing usability of a good desktop GUI toolkit runs circles around whatever webdev is these days, but the barrier to entry for a completely new programmer is certainly a lot higher than HTML.

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

#156
post #33

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.

TWenty years ago windows development was a lot simpler than modern browser applications. Fire up visual studio and create a new winforms project. You could literally drag and drop your way to a modest application with only minimal programming 'under the hood' for the business logic. I still don't think anything has surpassed the usability of winforms for a developer just wanting to get something done.

This was available way before with Delphi and now Lazarus. And it produced single native exe that did not require install.

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

#157
The shift from thin client to fat client forced the frontend to deal with greater state, sync and cache issues. The build ecosystem has multiple steps and langs. The visual fidelity and complexity of UI makes it difficult to test requiring us to deal with e2e testing with new tools.

All that to say this: we wanted cutting edge language features, beautiful UI and didnt want the page to flash white when we did something so we stopped switching pages and handled state on the front-end. Not sure it was all worth it tbh.

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

#158

Complexity is one end of the spectrum. Browser APIs for various stuff like animation, video, audio, webgl, etc is not that easy for developers to consume. Often most of these features have their own set of sub-complexities and concepts. For e.g. drawing/animation on the canvas is relatively simple, than doing stuff with 3d animation; the latter involves lighting, viewer perspectives, etc. And developers don't need al…

[deleted]

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

#160
The lack of objectivity around this is absolutely astonishing from a community such as this.

It exploded with complexity because frontend complexity exploded. Simple. Absolutely no people expected an "API call" from a frontend application 20 years ago, now people expect loading indicators on buttons (that make API calls) after pressing them.

Just have a look at the comments on the recent Standard Notes / React Native post. https://news.ycombinator.com/item?id=34197613

Post reply on HN