Live data from Hacker News

Why Is Front-End Development So Unstable?

breck-mckye.com

81–90 of 366 posts

Re: Why Is Front-End Development So Unstable?

#81

This offers a good explanation for why the most popular options are generally the ones that developers choose, but not why the thing that is currently popular shifts as fast as it does. Why did React take the limelight while Angular fell out of favor? What caused that shift in what is popular?

My personal experience with this was that Angular 2 was announced, which was completely non backwards compatible. So there were a bunch of people that

1) Needed to rewrite their code

2) Distrusted Angular to be stable

React had a philosophy of small reusable components and incremental upgrade. This is a particularly attractive idea for people experiencing the above. I think this is probably part of the shift in popularity.

Re: Why Is Front-End Development So Unstable?

#82
At some point, when modules get "micro" enough, the effort of managing them and learning their usage outweighs the effort of implementing the thing yourself. Most JavaScript projects seem to walk that line quite closely.

I'm a React developer at work, but I recently gave Vue a try at home. This is one of the things that most stood out to me about it. React makes a selling point out of the fact that it's "just rendering". It doesn't try to do everything for you, it tries to do one thing really well. That sounds great, but it leaves out a factor. Having your primary framework be "simple" and "lean" doesn't translate to your project being simple and lean, because your project still needs all that other stuff. You just now have to get it from somewhere else, which often adds more complexity than it's worth.

When I downloaded Vue all I had to do was add a script tag to my HTML document and start writing a modern reactive UI. No other modules or frameworks. No build system. No special JS-targeted languages. Vue does everything you need, and it does it all pretty well, and sometimes that's more valuable.

Re: Why Is Front-End Development So Unstable?

#83

Calling out Vue.js as a possible solution is hilarious. Selling a trending technology as a silver bullet is exactly the problem he complains about in the article. Comparing the development methodology of Facebook - the company behind React - and this mindset is illuminating. Facebook famously rewrote PHP and added extensions like XHP rather than start their codebase from scratch. React follows a similar philosphy. It…

In my experience, Vue is much easier to integrate gradually than React. You can't knock it just because it's relatively "trendy". Do your research.

Re: Why Is Front-End Development So Unstable?

#84
There are a set of converging interests causing pain in the ecosystem. First a company promoting a project, then people hoping to provide services, consulting or training, and third people hoping to get a job or padding their current resumes.

None of these people have a particular interest in the technology or its merit, its anything they can make money or benefit from and then forums like HN and others are used to aggressively push out these technologies.

By the time people start catching on about flaws, over-engineering or needless complexity the latter 2 groups have already moved on to something new. Rinse and repeat and HN is very much a part of this.

There is very little tolerance for skepticism and proper scrutiny of anything 'new' and in the hype train. These are usually dismissed with ad hominems about 'grey beards' or people 'scared' of change. Since everything is so 'new and cutting edge' there is no respect for any authority or experience and scrutiny becomes impossible. And since self interest is involved the arguments become needlessly charged.

Re: Why Is Front-End Development So Unstable?

#85

Earlier quoted context omitted.

Not really - those things exist in native frontend as well but it's more stable than js. Writing GUI is not trivial, people take stuff like data binding/templates/MVC etc. for granted nowadays, go check out early desktop UI libraries like say win32/MFC/winforms/gtk+. Took a long time to get to stuff like WPF, Qt quick, etc. With browser there were several constraints : ES5 is extremely error prone and scales very poo…

Native frontend on desktop and mobile have in-memory database and sync out of band. Web browser tab is too resource constrained to run a in-memory database, and less secure as well (you don't have root on your iphone so Facebook can restrict your data access patterns, prevent scrapers, prevent mass-delete of all those old posts, etc)

Those things don't remove the sync issues, blocking the UI thread, they just enable a slightly better use experience.

And dealing with asynchronous code is not the only issue in writing frontend code, GUI apps can be really complex beasts, managing that complexity effectively requires tools that didn't exist in js world untill recently.

Re: Why Is Front-End Development So Unstable?

#86

Programming industry is the only one more fashion-driven than the fashion industry. This is a known issue going back to the dawn time. The big secret is that for most of us this is "works as intended". We like to program. Imagine being a mountain climber who loves climbing and gets paid (well!) to climb mountains. With real mountains, eventually you get to the top and you have to stop. With programming, the act of cl…

The first part of your post is brilliant and then comes this: > If you just want to get shit done use Elm-lang and get on with your life. If this was sarcasm it would make sense but there's little else in the post to suggest that. Elm is one of the hippest languages right now. It also depends on a single maintainer AFAIK, and also has a limited community. I'd also like to program Elm but suggesting to move to that fr…

I hasten to point out that that "fashion-driven" line is somebody else's. The internet says RMS or Larry Ellison.

My point about Elm isn't that it's the silver bullet, rather that it's a tool that makes the meta-game easier.

Re: Why Is Front-End Development So Unstable?

#87

Earlier quoted context omitted.

In my experience the app tends to evolve around jQuery selectors and event handlers, rather than having a well defined structure. This is not a fault of jQuery, as it never intended to solve those problems. Like you said, it is purely meant to solve the DOM issue.

>In my experience the app tends to evolve around jQuery selectors and event handlers, rather than having a well defined structure What does that even mean?

CSS selectors are highly dependent on the structure of your HTML. If you refactor your HTML then you’ll be required to rewrite many of your CSS selectors. None of that is surprising at all, but jQuery makes it hard to abstract the use of CSS selectors away from the rest of your UI code. Compare with Angular2+ where the logical separation of Components and the HTML of the template is rigidly enforced making refactoring and “scaling” considerably easier.

jQuery is library that provides DOM shorthand - it isn’t a true application framework.

Re: Why Is Front-End Development So Unstable?

#88

Earlier quoted context omitted.

>In my experience the app tends to evolve around jQuery selectors and event handlers, rather than having a well defined structure What does that even mean?

CSS selectors are highly dependent on the structure of your HTML. If you refactor your HTML then you’ll be required to rewrite many of your CSS selectors. None of that is surprising at all, but jQuery makes it hard to abstract the use of CSS selectors away from the rest of your UI code. Compare with Angular2+ where the logical separation of Components and the HTML of the template is rigidly enforced making refactorin…

>If you refactor your HTML then you’ll be required to rewrite many of your CSS selectors.

I haven't found that to be a major issue. And I don't think the term "refactor" is the best choice here.

jQuery is library that provides DOM shorthand - it isn’t a true application framework.

Of course not. I don't want a third-party application framework. I discovered years ago that they're not worth the extra effort or the technical debt one incurs with them. (At least not to me. I'm not telling anyone what they should think or that they should design their applications like I do.)

My approach for me and the developers on my team is to develop a deep level of understanding of HTML, CSS and JS. Once you have that, the prospect of doing things for yourself that frameworks would otherwise provide does not seem all that daunting. To me, frameworks like React, Angular, etc. don't reduce complexity, they increase it.

And I hasten to note that I realize that many bright, capable people hold a different view , and I'm not saying they're wrong.

Re: Why Is Front-End Development So Unstable?

#89

Earlier quoted context omitted.

Native frontend on desktop and mobile have in-memory database and sync out of band. Web browser tab is too resource constrained to run a in-memory database, and less secure as well (you don't have root on your iphone so Facebook can restrict your data access patterns, prevent scrapers, prevent mass-delete of all those old posts, etc)

Those things don't remove the sync issues, blocking the UI thread, they just enable a slightly better use experience. And dealing with asynchronous code is not the only issue in writing frontend code, GUI apps can be really complex beasts, managing that complexity effectively requires tools that didn't exist in js world untill recently.

They kind of do though, the complexity of data sync can now be dealt with entirely separately from the complexity of the app logic itself (which is not true of, say REST architecture)

Re: Why Is Front-End Development So Unstable?

#90
post #73

Earlier quoted context omitted.

>Webdev has close to no barriers for entry How does something like regular desktop development have any more barriers? I picked up Python at 14 and that had absolutely no barriers for entry other than installing IDLE on a laptop. If anything, webdev has more barriers for entry because you need a webserver and a backend of some kind.

>I picked up Python at 14 and that had absolutely no barriers for entry other than installing IDLE on a laptop. Will you ever be employed by a "serious company" to make commercial desktop software just for few demos you show from your laptop?

I set up an entire flask dev environment with one pip command, too. Still no real barrier to entry, at least not any more than front-end development.
Post reply on HN