Live data from Hacker News

Ask HN: Why does front-end development change so often?

news.ycombinator.com

21–30 of 83 posts

Re: Ask HN: Why does front-end development change so often?

#21
post #14

I've been using the same tech stack for the past four years, and I'm not planning on changing anything major anytime soon. I think it's mostly a perception issue due to the fact that front-end development was historically a poor experience and things have greatly improved in a very short time.

Four years is nothing. That you seem to think this is a long time is telling.

My tech stack dates back to 1972, with the last major update in 1999 and the last notable minor update in 2011.

That isn't even a particularly old tech stack. Some stuff dates back to 1957, with major updates in 1977 and 1990.

Re: Ask HN: Why does front-end development change so often?

#22
Fairly recently rendering in the client became possible and desirable. This was a paradigm shift, it raised a lot of new problems, and a number of attempts were made at solving these issues. The field is settling now on the ideas with the most merit. Reacts idea of the virtual dom is an example of an idea that is becoming a stable standard.

Re: Ask HN: Why does front-end development change so often?

#24

Fairly recently rendering in the client became possible and desirable. This was a paradigm shift, it raised a lot of new problems, and a number of attempts were made at solving these issues. The field is settling now on the ideas with the most merit. Reacts idea of the virtual dom is an example of an idea that is becoming a stable standard.

Is rendering the right word here? It doesn't feel like it is to me. I thought rendering was the final step in taking a DOM and turning it into something that is shown on the screen. Basically, the job of the browser. Based on your logic you're saying that before now rendering was happening on the server, but that doesn't make sense.

Edit: I thought about it and it seems like generating is the right word and rendering is still just something that happens on the client-side no matter what.

Re: Ask HN: Why does front-end development change so often?

#25
post #17

To push back a little against this notion—is this even true? On the web front-end, I develop with React and Vue, which were released in 2013 and 2014 respectively. On the backend, I primarily use Phoenix, which was released in 2015. On the iOS front-end, I write apps in Swift, which was released in 2014. For our ML, practically nothing we use existed three years ago (except underlying layers, like language and below)…

It's been true in my experience. I've had interviewers scoff at me for mentioning Bower and Grunt, saying that the latest best practice was Webpack. Is Webpack really better than Bower and Grunt? It's different, that's for sure.

I get the feeling that a lot of the web development community has trouble understanding the difference between different and better. That's why we see so many wheels get reinvented so often. Is React a better way of manipulating the DOM than, say, Angular? I don't know the answer to that. It certainly is a different way. Is Webpack better at combining and packaging code than Grunt and Gulp? It's a different way of of packaging code.

In other communities, there's a much more nuanced discussion of whether technologies are appropriate. In the web development community, there's a much greater emphasis on painting technologies as absolutely "good" or "bad", "current" or "obsolete", without the suggestion that this new technology can coexist alongside existing technologies and address new use cases that the existing technologies didn't address. I've heard of numerous (and participated in two) projects which migrated from an existing framework (such as Angular, Ember, or Knockout) to React, solely because React was newer. There was no consideration whether React was a more appropriate framework for the task at hand. There was little consideration of the costs of the transition. It was a knee-jerk decision. "This framework is old, and the code written in it is nasty and buggy. We need to "refactor" (read: rewrite) our code to use React so that we can be current with the state-of-the-art best practices in web development."

I compare this with, for example, the Python community, where there is much more of a detente between frameworks like Django and Flask. Even though Flask is newer, there wasn't ever really a question of Flask replacing Django. Flask was merely seen as a solution for cases you'd have to strip out of a lot of Django (like its ORM and much of its middleware) in order to get a simple interactive website up and running quickly. There wasn't nearly as much of a push to use Flask because it was merely newer.

Re: Ask HN: Why does front-end development change so often?

#26

Related to this topic: What are the minimum technologies needed to get a solid front-end stack, with a nice balance between modern features without framework/library/build tool/transpiling hell? For example, I don’t want to learn TypeScript when vanilla JavaScript will suffice. I’m wary of picking up the “hot” new frameworks because they haven’t stood the test of time and may get deprecated/irrelevant. Basically, I w…

I'd say react.js. It has been proven to be a good choice for all kind of web applications (small, large) and even static web sites (https://www.gatsbyjs.org/, https://github.com/nozzle/react-static). Also it has an awesome community and awesome tooling (create-react-app), which allow you not to bother with "framework/library/build tool/transpiling hell".

Check this repo if you're interested in react: https://github.com/enaqx/awesome-react

You can also check vue.js, I have heard from many people that it's very good and some even say that it is better and easier to get started with than react :) I've never worked with it so I can't say much about it

Re: Ask HN: Why does front-end development change so often?

#27
The web environment was never intentionally designed to be what it has become (a system for drawing fully featured user interfaces and even games) and so isn't really equipped for it, you could argue it's missing a lot of widget primitives, the view-updates-as-string-manipulation is archaic to put it kindly and the whole thing is untyped and shackled to a weak language without so much as a proper this keyword.

This environment is simultaneously so restrictive (in that you can't really introduce new languages except by having them transpile to JavaScript) and so bad that people end up trying to tie it into something more cohesive (React's virtual DOM, Typescript) and then only partly succeeding (React's dependence on setState and things often being much easier to do with document.getElementById than in the React way, Typescript's inability to handle libraries intended for the web), leading other people to try do it better.

Re: Ask HN: Why does front-end development change so often?

#28
post #21
post #14

I've been using the same tech stack for the past four years, and I'm not planning on changing anything major anytime soon. I think it's mostly a perception issue due to the fact that front-end development was historically a poor experience and things have greatly improved in a very short time.

Four years is nothing. That you seem to think this is a long time is telling. My tech stack dates back to 1972, with the last major update in 1999 and the last notable minor update in 2011. That isn't even a particularly old tech stack. Some stuff dates back to 1957, with major updates in 1977 and 1990.

I only mention it because OP implied it's changing every year, which it's not. I'm well aware C and make are more than four years old, no need to be condescending.

Honestly the big "revolution" was the change from imperative frameworks (jQuery, Backbone) to component-based frameworks (React, Angular 2+, Vue). Everything else is just an incremental improvement in one way or another.

Re: Ask HN: Why does front-end development change so often?

#29
post #27

The web environment was never intentionally designed to be what it has become (a system for drawing fully featured user interfaces and even games) and so isn't really equipped for it, you could argue it's missing a lot of widget primitives, the view-updates-as-string-manipulation is archaic to put it kindly and the whole thing is untyped and shackled to a weak language without so much as a proper this keyword. This e…

> Typescript's inability to handle libraries intended for the web

Can you elaborate? TypeScript is incredibly popular for client-side development.

Post reply on HN