Is modern Front-End development overengineered?

https://medium.com/@all.technology.stories/is-the-front-end-ecosystem-too-complicated-heres-what-i-think-51419fdb1417?source=friends_link&sk=e64b5cd44e7ede97f9525c1bbc4f080f

created by Alternative_Ball_895 on 19/12/2024 at 19:29 UTC

696 upvotes, 136 top-level comments (showing 25)

Comments

Comment by Loaatao at 19/12/2024 at 20:33 UTC

699 upvotes, 2 direct replies

Yes and it’s fueled by venture capital. React Conf was essentially one big advertising festival for vercel

Comment by ggtsu_00 at 19/12/2024 at 21:46 UTC

536 upvotes, 8 direct replies

All this complexity yet still the back button breaks navigation state on your shitty infinite scrolling SPA.

Comment by Caraes_Naur at 19/12/2024 at 20:06 UTC

870 upvotes, 11 direct replies

Yes.

Comment by endianess at 19/12/2024 at 21:32 UTC

243 upvotes, 9 direct replies

I find everything is OK until about 6 months later and everything within the framework has changed. And now whenever I search for things I get a mismatch of old and current ways of doing it and the build system needs a total overhaul. Like with Android development I spend more time administrating projects than actually creating useful code.

Comment by Beginning_Basis9799 at 19/12/2024 at 20:25 UTC

153 upvotes, 0 direct replies

Yes

Comment by Xauder at 20/12/2024 at 08:28 UTC

25 upvotes, 0 direct replies

I went full circle on this. Started with simple PHP and Python, moved to React, Vue, Nuxt, Vercel. Now I am back to Python, Jinja templates, and some very basic vanilla JS here and there. Life is good.

Comment by shoot_your_eye_out at 19/12/2024 at 20:28 UTC*

160 upvotes, 10 direct replies

In my opinion, yes.

That said, a larger problem I encounter--both in front-end and back-end development--is a prevalence of developers with a weak (or missing) grasp of foundational web concepts. We spend all this time obsessing over front-end frameworks, and meanwhile, Jimmy doesn't understand how cookies work. Samantha doesn't understand the first thing about authentication and session management.

I'm convinced many (most?) web developers do not have a working understanding of:

I think there is a chronic disconnect in our industry between *basic internet fundamentals* and what a typical developer actually knows about those fundamentals.

I just got done solving a *horrific* bug around cookie handling. Let's just say the front-end developers got pretty creative, but all they ultimately accomplished was implementing authentication and session management in a blatantly insecure way; the site is one XSS away from a malicious actor stealing auth details wholesale. Not to mention inordinate amounts of pain due to how different browsers handle cookie expungement.

Comment by Cold_Meson_06 at 19/12/2024 at 21:26 UTC*

180 upvotes, 6 direct replies

Yes, as time progresses, making UIs should be simpler. Instead, we are overengineering it beyond comprehension, and now making a form requires discussion about how many story points it will cost.

And when a feature requires actual complexity, no one seems to be able to implement it in a reasonable way since we spent all our complexity budget making sure we don't strive a millimeter from functional patterns.

Comment by al2o3cr at 20/12/2024 at 00:54 UTC

47 upvotes, 1 direct replies

Author left off step 0: "Somebody makes up requirements that users don't actually care about"

Think about the three things listed:

It's like if automotive engineers decided that cars needed to go Mach 1 and hold 10000 passengers and then lamented that "car design has gotten so complicated".

Comment by mohragk at 20/12/2024 at 08:27 UTC

24 upvotes, 1 direct replies

Wait until you hear about DevOps and back-end.

My thesis is that 90 percent of all “web-apps” could easily run on a Linux VM, rocking some MySQL db and using a simple REST API. When I look at the “landscape”/stack at where I work — all I see is an ocean of onions. Everytime you need to do anything you have to peel it back layer after layer until all there is left are tears.

Comment by AyrA_ch at 19/12/2024 at 19:58 UTC

65 upvotes, 4 direct replies

This is one of my biggest issues I have with the web. HTML for example dates back to the early 90s and was intended to link and display crudely formatted scientific documents, hence why the first version of the first browser lacked HTML form support. The entire thing is intended for print media, which is why screen oriented tasks like vertically centering stuff turns into memes.

I would love for a Winform style standard to emerge that is entirely focused on screen oriented usage. This would lend itself well to business applications.

Comment by rcls0053 at 19/12/2024 at 21:46 UTC

56 upvotes, 2 direct replies

Absolutely not. It's simple. All you need is a compiler, a transpiler, a bundler, 150 packages and a node modules folder with a mass that rivals the sun. And 25 config files in your root folder for various tools.

It was such a relief to find Go and write an app with mainly the standard library. Couldn't use it for grpc. Anything that's JavaScript is over engineered and I hate it with a passion now.

Comment by Disastrous_Bike1926 at 20/12/2024 at 05:52 UTC

22 upvotes, 0 direct replies

Massively.

I remember doing a project with React circa 2018, and thinking, my god, this is as insane as J2EE 1.0 in the 90s with needing ten source files to write hello world. And I can tell you exactly what every bit of the complexity in React is for, but it’s the perfect example of making the hard things doable by making the easy things hard.

At just once a week I see a post on one of the Rust subreddits about Tauri as an alternative to that abomination of a NodeJS framework that has you ship 80% of Chrome so you can write your UI in HTML/Css/JS and think, *why on earth would you inflict that on yourself **on purpose???*** Actual desktop programming is vastly less heavyweight for better performance and usually far simpler.

I once had a battle over some image sizing thing where you could do what we needed entirely with basic CSS that worked consistently in every browser we needed it to, to not import some giant library that would do the same thing, but glitchily through totally unnecessary DOM manipulation, because that was supposed to be ineffably *better*.

It seems like 80% of web programming is workarounds for things one framework does and workarounds for the workarounds.

And this is why we can’t have nice things.

Comment by Successful-Money4995 at 20/12/2024 at 02:40 UTC

10 upvotes, 1 direct replies

Can someone please measure the number of bytes of text this author wrote versus the bytes in the HTML downloaded for the site?

Comment by Bompi at 19/12/2024 at 23:20 UTC

32 upvotes, 4 direct replies

No. It’s just described as such by people who think they know all that they could ever possibly need with HTML, JavaScript and CSS. Sure, you *can* make any front end you want with just that. You can also make your backend with raw sockets instead of using any sort of framework or library. The cloud? I know how to configure a server and use SSH, why would I need anything else? The “I know enough” mentality is short sighted and annoyingly prevalent, especially so when it comes to front end.

Make any front end that had all the modern amenities without using frameworks and you will either end up with an unmaintainable mess or you will have made a framework.

Comment by kupo-puffs at 19/12/2024 at 22:55 UTC

12 upvotes, 1 direct replies

Yes. But you gotta admit, sometimes you find those UIs that are incredibly intuitive, fluid, beautiful, responsive, and even accessible

Comment by freecodeio at 19/12/2024 at 20:54 UTC

36 upvotes, 0 direct replies

The frontend industry is riddled with AI-first, flamboyant, narcissistic, vc funded, idol-driven programmer personalities, creating an environment that dismisses critical thinking.

Comment by Biom4st3r at 19/12/2024 at 21:01 UTC

8 upvotes, 0 direct replies

We have deep build steps for interpreted code

Comment by BizarroMax at 20/12/2024 at 13:34 UTC

4 upvotes, 0 direct replies

As a user, I find modern interface design infuriating and unintuitive. Especially in mobile where there are often no visible controls for a feature. I have to just know that some gesture activates a feature.

Comment by Hot-Luck-3228 at 19/12/2024 at 23:11 UTC

13 upvotes, 0 direct replies

People compare apples to oranges a bit. Modern FE development is over engineered but it is also not the same as what FE was 20 years ago.

Issue isn’t over engineering or modern FE. It is us using the same solution for every single problem. A rocket is great to get to moon, but makes for a really lacklustre city car.

Comment by CUNT_PUNCHER_9000 at 20/12/2024 at 05:43 UTC

8 upvotes, 0 direct replies

I blame product managers and designers.

We get such needlessly complicated websites with complex state when all users really want is something which is easy to use.

Comment by hobbified at 20/12/2024 at 02:57 UTC

13 upvotes, 0 direct replies

No, it's underengineered. It's complex as hell, but you can't call that "engineering".

Comment by Stromcor at 19/12/2024 at 23:04 UTC

16 upvotes, 2 direct replies

Do you realize that nobody is forcing you to use anything else that bare fucking HTML/CSS/JS? Nobody. There's no gun pointed at you, your family is safe, it's ok, you can do whatever the fuck you want. JFC.

Comment by shitposting-all-day at 19/12/2024 at 20:43 UTC

32 upvotes, 3 direct replies

For me it’s simultaneously over engineered and backwards. I feel like we were going in a good direction years ago with separation of concerns then React came along and wtf happened

Comment by jfalvarez at 20/12/2024 at 03:25 UTC

3 upvotes, 0 direct replies

AF