Early react team member here. The popular react/webpack/npm stack is probably what the OP is talking about. It was popularized because the Instagram web team used webpack and npm in 2013 so we recommended it alongside react in the early days. I was TLM of the team when we made these decisions. There are three main points I want to add to the conversation. 1. UIs actually have a lot of complexity. The number of states…
> Modern backend eng is a morass of kubernetes configuration, needless microservices and overuse of async queues, for example That's certainly the trend. At my org, we "partnered" with AWS to help us figure out what the tech stack should look like. Sure enough, everything should be in an SQS queue, triggered off S3 running in AWS Step that's triggered through SNS notifications. All this requires countless lambdas whi…
Ask HN: Why did Frontend development explode in complexity?
311–320 of 398 posts
Re: Ask HN: Why did Frontend development explode in complexity?
#312The reality is that most teams in the world are not huge and never will be.
Re: Ask HN: Why did Frontend development explode in complexity?
#313Re: Ask HN: Why did Frontend development explode in complexity?
#314Earlier quoted context omitted.
Less complex UI, interesting: https://bcgsoft.com/galleries.htm (psst, a secret, BCG is just a library on top of MFC) Please DO open Word 97 (and this is 26 years old UI) and compare it with the best done web UI you are aware of, regardless of framework, as long it is not QT compiled into webasm (as this is the only thing on web that comes close). Now why is that, I don't know. But I can tell you what I can see as a…
My understanding is that none of the core Microsoft apps like Office were built on MFC. In MFC projects I worked on, generally the simple stuff was built with MFC and anything more complex was built with the win32 API.
"generally the simple stuff", no:
https://docs.microsoft.com/en-us/cpp/mfc/media/mfc_heirarchy...
https://docs.microsoft.com/en-us/cpp/mfc/media/mfc_heirarchy...
https://docs.microsoft.com/en-us/cpp/mfc/media/mfc_heirarchy...
MFC had its set of problems which were related to things like passing messages between windows, but all those are on another level.
Re: Ask HN: Why did Frontend development explode in complexity?
#315Earlier quoted context omitted.
I didn’t say they were meaningless, just that they are often overused and can make systems needlessly more complex. How many microservices architectures with dependent webs of async queues emulating distributed transaction semantics could be replaced by one big rdbms? I think a lot!
My favorite is when a new project thinks it needs this on day one. I'm willing to place money that most new projects will struggle to saturate a single computer. Much less a distributed infrastructure. (yes, I'm well aware there are some cases. But even most fang projects are doing relatively little work, all told.)
Re: Ask HN: Why did Frontend development explode in complexity?
#316Earlier quoted context omitted.
/me remembers MFC/QT/BCGsoft and C++ codebase and gently smiles on thought that maybe the issue are everywhere else except the UI complexity. We are where we are, but it is interesting that GUI libraries from 20 years back are still running circles around latest and the greatest UI web front-end, even if it is also client rendered. Maybe, just maybe, we should search for an issue somewhere else?
As much as I hate modern frontend code, I question this narrative. What 20 year old GUI library is running circles around... anything?
jQuery is used by 94% of the websites that use JavaScript.
https://w3techs.com/technologies/overview/javascript_library
Re: Ask HN: Why did Frontend development explode in complexity?
#317Earlier quoted context omitted.
One of the best examples of this complexity inflation problem I always see is the Redux pattern in frontends. This pattern comes with a lot of overhead, a lot of things that need to line up (Actions, Reducers, Actioncreators, Selectors, ...). And most of the time the applications that use it are completely trivial. If you remove Redux, half of the code is gone, it's faster and easier to understand and extend.
Hi, I'm a Redux maintainer. I'll definitely agree that Redux _has_ been overused. But it's also worth understanding _why_ Redux was created in the first place and why it got so popular. As a brief recap: the first major wave of JS MVC frameworks had major flaws. Angular's dirty checking didn't scale and was impossible to debug. Backbone's event-based system led to events ricocheting around the app with no way to trac…
Can someone explain this to me please? How is it possible, that Facebook, did not have a plan from the beginning for a larger global state, even though their own app is huge? How did they solve it in Facebook in the first place? or did they started using React for themselves AFTER solving the global state problem somehow?
Re: Ask HN: Why did Frontend development explode in complexity?
#318To meet the requirements foisted upon them, frontend devs tend to gravitate toward tools and frameworks that allow for maximum flexibility. And greater flexibility comes with greater complexity.
If you looped in frontend devs earlier in the requirements gathering phase, you might be able to (drastically) simplify a lot of the frontend work (e.g. "if we design this UI flow slightly differently it will require way less development"), but I understand this goes against most of the software development best practices which are currently en vogue.
Re: Ask HN: Why did Frontend development explode in complexity?
#319It'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…
One of the best examples of this complexity inflation problem I always see is the Redux pattern in frontends. This pattern comes with a lot of overhead, a lot of things that need to line up (Actions, Reducers, Actioncreators, Selectors, ...). And most of the time the applications that use it are completely trivial. If you remove Redux, half of the code is gone, it's faster and easier to understand and extend.
Digging deeper, it seems to me that attempting to subvert the standard behaviour of the DOM will always produce a leaky abstraction, and it negates the benefits of working on a standardised platform.
Re: Ask HN: Why did Frontend development explode in complexity?
#320Unpopular biased opinion. Frontend development is mostly done by people who are into visual things and less into logic. Unlike backend engineering, where people working are primarily choosing technology based on logic/merit and less by visual appearance. This leads to the adaptation of large number of garbage frameworks in frontend primarily because their landing pages look visually appealing. After some time fronten…
> Unlike backend engineering, where people working are primarily choosing technology based on logic/merit and less by visual appearance. Yes. Backend engineering is completely immune to hype and increased complexity. laughs into a cloud of micro services But, more seriously, both front and backend architecture has increased in complexity. I think it’s more than condescending to say it’s because front end engineers ba…