Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

While I don't agree with the tone of the author, I do have to admit, there seems to be something foundationally wrong with front-end development. Yes, it's more complicated than server development in that it is a real-time, multi-point input, multi-output (rendered elements on screen) environment with synchronisation and concurrency needs.

But I used to write front end applications with MFC (Microsoft Foundation Classes, which is C++) using Visual Studio circa 2005, and it was never as complex as an SPA today. There is something wrong somewhere, and I don't think it's JavaScript or the DOM. The flaw seems to be paradigmatic.



Your second paragraph disproves your first. Websites' needs didn't drastically increase (I'm ignoring nonsense like WebGPU; render graphics outside the web browser like a God-fearing Christian!), but their complexity did. Why? Well, we told everyone with a pulse they could make six figures "doing web development", and we're reaping what we've sown.

You can still design websites like it's 2005, and they'll be damn fast. But pitch something like MFC or even PHP to a 20-something frontend developer now and watch the blood drain from their face.


We don't build websites anymore, we build web apps

It make seem trite but you just aren't going to have a good time building some of the stuff people build now using a LAMP stack


"We" build both. You might be building WebApps, I certianly don't and so are countless others. The web is not one homogenous thing where everyone is doing the same thing at the same time.

Different people work on different projects serving different needs and we have to acknowledge that otherwise we end up in these silly tech-religious arguments where people think there's one and only one way to do things and that's certianly not the case.


Conways law:

React is a Face Book abstraction leaking out on to the web.

It's good for them. It's a perfect framework (+ graphQL) for there every page is custom in a walled garden environment.

It isnt a good way to build a blog, or a shopping cart. But A mail client in a browser, or a B2B app with a lot of data, A CMS... great places for it!

And it's great for FB too. (as is every other open source tech from a large player). Think about all the money FB saves NOT having to ramp up front end engineers... they get them pre-trained now on their tool.


"Yes, it's more complicated than server development in that it is a real-time, multi-point input, multi-output (rendered elements on screen) environment with synchronisation and concurrency needs."

I would argue that most backends typically also deal with more than 1 user at the same time (and in real time).


> I used to write front end applications with MFC (Microsoft Foundation Classes, which is C++) using Visual Studio circa 2005, and it was never as complex as an SPA today. There is something wrong somewhere, and I don't think it's JavaScript or the DOM.

No, it's CSS. No real UI framework has anything remotely like CSS, and for good reason. But people like the author of this article keep trying to make CSS work instead of writing it off as the mistake it is, and so web development remains awful.


I think the flaw is that we've got one type of browser for everything.

Let's just have a bank browser for banking and a restaurants browser for deciding where to eat. Then the banker need only indicate that the account is overdrawn and the restauranteur need only indicate that the fries are gluten free.

The number of people who need to care about how these things are presented to the user could decrease by a factor of 1000 if we just standardized a little and stopped trying to control every little thing.


> a bank browser for browsing and a restaurants browser for deciding where to eat

you mean like native mobile apps?


Yeah, except we just need one for banking in general, not one for each bank.

Not sure how to get the banks to contribute to such a non-zero-sum endeavor, but man they could save some money if they did.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: