Live data from Hacker News

Why Is Front-End Development So Unstable?

breck-mckye.com

71–80 of 366 posts

Re: Why Is Front-End Development So Unstable?

#71
post #3

>Why is Front-End Development So Unstable? Because on average, the skill level in the whole webdev community is low. Below that of "a dev with average schooling, and average industry experience" Webdev has close to no barriers for entry, and is under the strongest influence from the fact that the evaluation of deliverables is not done by another tech professional out of all software development jobs The combo above m…

Damn dude, why so negative? Reading through your comment history, it's apparent. Life is too short to be miserable on the internet.

Well, I can say that I am just coming out of few years long miserable period of my life that came after I was kicked out of Canada thanks to "LMIA disaster" after spending 6 years of my life securing my future in the country. Right now, I am easily passing under the points system, but nah, after such shameless bait and switch with immigration policy, there is no way I am going back.

Good things, I am out of webdev as an industry, and finally working in a more serious function in an engineering consulting now - something I was aiming at from my teen years, when I was still not in "money over job satisfaction" mode of thinking.

Re: Why Is Front-End Development So Unstable?

#72
post #6

> 2.5 years for the youngest isn’t that old in the scheme of things - it’s less than half the support lifespan of your typical desktop OS, for example - but it’s still a ways off our caricature. Let's compare it with some server-side technologies: Python/Django: 2005 Python/Flask: 2010 Nginx: 2004 Perl/Catalyst: 2006 Maybe I'm biased towards older software, but the difference to the popular frontend stuff is striking…

I think more developers should use jquery to prototype an app and move torward a framework when it is needed. The same should be said when adopting redux when using react . Also webpack for building and moving beyond SQLite for data .

> I think more developers should use jquery to prototype an app and move torward a framework when it is needed.

They really shouldn't. With VueJS it's not that difficult to get setup and running with the CLI and components is such a game changer.

Don't get me wrong. I love jQuery, there's nothing better than taking someone else's library and then extending it. Here's an example [0].

However, one thing that I have learned. It's much simpler and easier to develop code in Vue compared to jQuery. It took me a day to develop a wizard exactly the same as [1]. Of which it's now a component which I can drop in anywhere in my codebase (which I do numerous times) and in future Vue projects.

So FuelUX code: 463 LOC vs my Wizard: 180 LOC.

One last thing to leave with. I have a page builder much like Elementor. In jQuery I'm doing a lot with the Dom and it's such a pain in the ass. It's about 20k LOC alone with hundreds of functions.

Today, with Vue. I prototyped a JSX/JSON backed version, where a watcher listens to the store. The UI commits any changes to the store and the watcher re-renders the HTML. I did this with just ~90 LOC.

Completely unbelievable from my perspective and I'm still only a newbie when it comes to Vue, Webpack, Babel, etc.

jQuery/jQuery UI. It was great, but it's time to move on.

[0]: https://github.com/bgrins/spectrum/issues/480#issuecomment-3...

[1]: http://getfuelux.com/javascript.html#wizard

Re: Why Is Front-End Development So Unstable?

#73
post #3

>Why is Front-End Development So Unstable? Because on average, the skill level in the whole webdev community is low. Below that of "a dev with average schooling, and average industry experience" Webdev has close to no barriers for entry, and is under the strongest influence from the fact that the evaluation of deliverables is not done by another tech professional out of all software development jobs The combo above m…

>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?

Re: Why Is Front-End Development So Unstable?

#74
post #62
post #39

This part puzzles me: > "Put yourself in the shoes of a junior-to-mid-level JavaScript developer, writing a new application for the first time. > "It starts innocently enough. You have a completely clean slate and want to keep things simple. You are a devout Agilist and YAGNI is your watchword. So you begin with a ‘simple, barbones framework’. That sounds good, doesn’t it? (Even if it did not, that’s often the only c…

> How did it happen that junior JavaScript developers feel so insecure about using the standard stuff? I know a lot of "developers" that are learning frameworks and not javascript. When you start in a black box then you look for other black boxes to fill in the gaps you need. I am not even opposed to that. I strongly believe in never re-inventing (unless its academic) what can be used and has been tested, but when th…

One has to learn somehow, and reinventing is an important part of that.

Aspiring artists will paint nude figures and flower arrangements and white cubes on draperies, even though these subjects were done to death centuries ago. Junior programmers should feel the same way about doing things that have already been done: someone probably has done it better, but I still have to do it for myself, maybe a few times over to get the hang of what's the point.

Re: Why Is Front-End Development So Unstable?

#75
I think the instability is a byproduct of what it is.

Today we have https://caniuse.com but this sort of tool in one form or another has existed for a long time - I think that mobile, and native mobile have only compounded the problem.

Frameworks, and ecosystems (Node, and what it spawned) are practically a requirement to get things done. But abstracting issues away from front end developers, hiding them behind hacks and fixes only serves to make things worse, and harder.

The foundation of the front end isn't just broken, it is a fuckstorm... and we keep piling more stuff on top of that foundation trying to make it make sense, make it rational. With each layer we add creating new sets of issues that only get worse over time. Then someone "smart" enough to build something a bit better does just that, and we get this: https://xkcd.com/927/

The reality is that the fish stinks from the head and in this case, blame google, apple, MS, and Firefox - https://medium.com/@dmitriid/ok-w3c-and-whatwg-dont-die-but-...

Javascript isn't much better https://ariya.io/2014/05/the-curious-case-of-javascript-nan ---

(Note the above links are just my favorite "examples" of these issues not even a good indicator of the real problems therein, everyone has their own grievances)

And this IS the heart of the issue. Any one sane, any one with a high level of skill isn't going to want to work in an environment where they aren't in control where someone can yank the carpet out from under them at any given moment. No one is going to stay long when new browsers and missing packages create more work, or work that has to be re-done to deal with some edge case or issue that literally came out of nowhere. Front end people see those of us working on server side code where we have a HIGH degree of control (orders of magnitude) and realize how bad it is for themselves. Simply put any one who is good invests the time and energy to get OUT of that line of work. Tallent will quickly migrate away from the broken foundation of the front end. This only serves to exacerbate the situation, as a new "smart" person onboards thinking "I can do this better" and being right to some degree.

Re: Why Is Front-End Development So Unstable?

#76

I believe classifying libs/frameworks by number of stars is not enough ; "when" these frameworks got stars, or how many stars they got in the past 6 month, is probably important. Not sure jQuery or angular 1 got many stars lately...

Agreed. The quality of the stars are important. What percentage of people star repo's where they've read the Readme but never used the code or used the code and decided it was bad quality and never unstarred the repo

Re: Why Is Front-End Development So Unstable?

#77
post #53

There is an interesting take on this by a Reddit user named 'jerf' over on the Reddit discussion: https://www.reddit.com/r/programming/comments/8n00k2/why_is_... I think this is the same as the HN user 'jerf', but am not certain.

I think I'd add to this comment that you can't solve a lot of these problems with more code because in the browser code size is a very significant factor. On the desktop, or even on mobile, code size isn't very important. So we can have big libraries that do a lot of work.

Re: Why Is Front-End Development So Unstable?

#78

It's only unstable if you drink the JavaScript cool-aid, and change frameworks frequently. I've been using Knockout 3.* for the past five years, no issue here. Edit: Looks like some Angular and React devs have started downvoting :)

Knockout is incredibly lightweight and easy to get into. However, it's not the "in" framework like Angular and kin, so it gets a lot of bad reactions.

The biggest reason for this, I believe, separate to any technical benefits/advantages, is that the "big" and "in" frameworks have a gigantic knowledge-base hosted on the entire internet. Because of the sheer amount of people on that ship, they've all collectively encountered and tried/solved/figured-out a large amount of usages and combinations of the library. What that means is that mediocre and/or "shallow"-knowledged developers can easily leverage that to solve problems they might encounter by copy-pasting solutions. Rather than solving it for themselves.

Now, that doesn't necessarily mean they're not capable of doing it, it simply means that they have to spend more time figuring out the problem and/or learning the framework in order to be able to do so. Most people would rather opt out to doing a quick search, copy-pasting, adapting to their specific context, and moving along to the next problem. So, when they have to deal with something like KO, they know what it's going to entail: Hours of learning, or digging into internals and figuring out the quirks of the framework.

Re: Why Is Front-End Development So Unstable?

#79
I think this is a piece by someone who has not really been in front end web development as a career (or does not specialize in it) for very many years. The author's thesis is that 'poor choice architecture' is what drives churn in front end. I disagree. The churn in JS tech has reduced over the past few years.

Some of the churn was in part due to limitations of the web platform. ES5 was limited in features. The web has evolved a lot, and now we don't need to depend on every framework re-inventing things like modules.

React has been around for 5 years now, and it's still the dominant choice for front end architecture. This is not by accident. React solves some of the biggest challenges in front end development with a clean, minimalistic component API, a virtual DOM abstraction to minimize re-renders, JSX (still superior to underpowered template languages), and one-way data flow (which makes refactoring and state management easier). Also functional component model has implications that it can render to any target.

React is not just a web development innovation, it's a UI innovation. There has never been a desktop UI framework with this much flexibility and power. You can target web, native mobile, native desktop, create custom canvas-rendering if you like, render to touch bar, VR, etc...no limits.

The author sort of implies that a one-size-fits-all framework or some standard way of doing things across all projects would lead to less frustration and less churn in the JS community.

We've seen many attempts at this (Ember, Angular, etc). The thing is, not all projects have the same needs. The web is a big place. There are simple web pages with mostly text content (and little need for JS) all the way to rich apps with interactive video, real time chat, dynamic graphs and complex customized data feeds for each user. There is no one-size-fits-all comprehensive framework that will ever meet those demands. For the easy projects, they're overkill and for the complex, long-lived projects, you're likely to beat your head against the limitations of the framework.

The innovation that has come in state management, style management, and component-based design in the past few years is unrivaled by any other UI community. I think the article is a surface level grasp at the situation. It implies that the JS community is spinning its wheels instead of producing solid long-lasting paradigms for application development. I disagree.

Re: Why Is Front-End Development So Unstable?

#80

Earlier quoted context omitted.

I think more developers should use jquery to prototype an app and move torward a framework when it is needed. The same should be said when adopting redux when using react . Also webpack for building and moving beyond SQLite for data .

> I think more developers should use jquery to prototype an app and move torward a framework when it is needed. They really shouldn't. With VueJS it's not that difficult to get setup and running with the CLI and components is such a game changer. Don't get me wrong. I love jQuery, there's nothing better than taking someone else's library and then extending it. Here's an example [0]. However, one thing that I have lea…

Mithril is similarly small and very easy to get started.
Post reply on HN