Live data from Hacker News

Why Learning Angular 2 Was Excruciating

hackernoon.com

151–160 of 226 posts

Re: Why Learning Angular 2 Was Excruciating

#151

Your first foray into web development and you picked a large, unfinished (it wasn't final) framework to learn with? Then you are complaining that there were breaking changes you had to deal with? I get your beef with the ecosystem, but this is a very unfair knock on Angular 2. Angular 2 was not the problem here at all. Am I missing something obvious?

Unfinished? How about never finished. >Angular 2 is going to have breaking changes only every 6 months from now on. So the next one would be around February with Angular 3. Yes exactly, they’re also finally switching to semantic versioning which is a huge win in my opinion. IMHO, breaking changes every six months is the recipe for an shitshow of an ecosystem. http://juristr.com/blog/2016/09/ng2-released/

Ok, now try to find at least one framework without breaking changes after initial release. Code should evolve, planned changes is a graceful evolution.

Re: Why Learning Angular 2 Was Excruciating

#152
post #111

Earlier quoted context omitted.

It's my experience with their web-oriented and JavaScript projects. They definitely put out lots of high quality open source work in other domains.

Google does not actually do much with JavaScript. Sure they have gmail, but they put a lot more effort into graceful degradation than most web companies.

I think this is an age thing. People who grew up using the web before javascript started destroying it are more likely to accept professional responsibility for progressive enhancement, and Google skews older than many competitors.

Re: Why Learning Angular 2 Was Excruciating

#153
post #148
post #76

I've said it before here and I'll say it again: the JS ecosystem is moving in the wrong direction. Sometimes I feel that with Javascript, we developers have taken something that wasn't ours, and we're in the process of destroying the best thing there ever was about it. One of its best qualities used to be that you could have absolutely no idea what you're doing, read a few bad tutorials somewhere on the web, mash you…

> One of its best qualities used to be that you could > have absolutely no idea what you're doing, read a few > bad tutorials somewhere on the web, mash your head > onto the keyboard and end up with something > horrifying that was nevertheless close to what you > wanted to achieve. > I know of no other language that can tell a similar > success story, with that high an impact. I assure you, the same is definitely tru…

> Shitty code often makes the world a better place.

That's one of those things I have probably read - and agreed with - a hundred times before, but never that succinct.

I will make that mine; I hope you don't mind.

Re: Why Learning Angular 2 Was Excruciating

#154
post #142

Earlier quoted context omitted.

I appreciate your position, I really do. It's not like I am clear-cut on this myself, even if my frustration makes it sounds like I am. I appreciate that the language, the platform and the web itself needs to evolve. But I object to the argument that people can just continue to do their thing, because people in that position are overwhelmingly dependent on the ecosystem. Guidance, libraries, tools. And that ecosystem…

It's certainly an interesting conundrum, and I agree that eventually without ecosystem support Alice and Bob might find things a little tough. However, it's important to realize that the way the web is moving is to not only benefit the working professionals being paid to write it, but also the consumers who experience it. Why do we have minifiers and transpilers and modules and font icons? Why do we aim for one scrip…

the advance of minifies and transpilers and modules doesnt seem to increase page performance. one of the effect of it being so efficient to minify and transpile is that large imports and frameworks are easier to use, and that boosts the total JS lines of code, making the JS parsing take a long time, and the page performance get "janky"

Re: Why Learning Angular 2 Was Excruciating

#155

I'm just gonna leave this here: http://aurelia.io/ . Aurelia is truly a professional operation.

As someone who has been using Aurelia for over 12 months now, I am happy to see someone post this. A great framework that hasn't really had any major breaking changes, even when it was alpha, then beta and release candidate. Keeping it up-to-date has been no effort at all and I have been building with it since it was basically announced.

The thing I find funny about Angular 2 is all of the breaking changes they made during the release candidate. The whole point of a RC is no breaking changes and just bug fixes to get it stable before final release. They rewrote the router component 3 times alone. Updating from each RC release in itself was a nightmare for many.

The whole misconception that because Angular 2 is Google affiliated it is the best framework around needs to die. Angular 2 is a Greentea oriented framework that isn't built for the public and first and foremost, for Google's own internal needs first.

Aurelia is incredibly underrated and many of the developers I know who come from a background in Java and .NET where concepts like dependency injection are very important absolutely love Aurelia for introducing those concepts in an easy to use and understand manner.

Re: Why Learning Angular 2 Was Excruciating

#156
post #143
post #142

Earlier quoted context omitted.

It's certainly an interesting conundrum, and I agree that eventually without ecosystem support Alice and Bob might find things a little tough. However, it's important to realize that the way the web is moving is to not only benefit the working professionals being paid to write it, but also the consumers who experience it. Why do we have minifiers and transpilers and modules and font icons? Why do we aim for one scrip…

I miss the days of the plain-old html web. It might have been ugly, and there might have been marquees and blink tags, and under construction signs, and webrings and webmasters, but it loaded over my 56k modem, nobody was screwing with my back button, or messing up scrolling, or popping modals in my face, or pestering me with anti-anti-anti-ad-blocking nag modals and interstitials.

I was just reading a blog post where a guy had written about Steve Reich and Brian Eno's experiments and his attempts at replicating them. It was posted on HN a few days ago: http://teropa.info/blog/2016/07/28/javascript-systems-music....

There are embedded YouTube videos, MP3s, and code samples to illustrate what he's writing about. He's implemented their ideas using the Web Audio API and you can run the code from within the page and listen to the music being generated in real-time. It's a real testament to how great the web can be.

I think being able to do things like that is worth all the annoying parts of the modern web, in the end. For the developer and the end user. I wouldn't want to go back to the old way. I think it's easy to focus on the annoying parts and take the good parts for granted.

Re: Why Learning Angular 2 Was Excruciating

#157

I'm just gonna leave this here: http://aurelia.io/ . Aurelia is truly a professional operation.

I've used both Aurelia and Angular 2. I enjoy Angular 2 very much despite its feistiness and the community around it is huge, but Aurelia just seems cleaner, easier to use and lightweight. If I were to pick one, it would be Aurelia, but I would never suggest someone abandon an established Angular 2 project in favor of Aurelia.

Re: Why Learning Angular 2 Was Excruciating

#158
post #76

I've said it before here and I'll say it again: the JS ecosystem is moving in the wrong direction. Sometimes I feel that with Javascript, we developers have taken something that wasn't ours, and we're in the process of destroying the best thing there ever was about it. One of its best qualities used to be that you could have absolutely no idea what you're doing, read a few bad tutorials somewhere on the web, mash you…

Complex frameworks have historically made up for a lack of capabilities, starting with the lack of a component model and composition facilities.

This is changing for the better with web components. Now you'll be able to have just a `` tag and define a component and use it in markup. It'll be even simpler than jQuery, and saner at the same time.

So you can do this:

   
     class MyElement extends HTMLElement {
       constructor() {
         super();
         console.log('yay!');
       }
     }
     customElements.define('my-element', MyElement);
   
   
And use no external libraries at all.

Re: Why Learning Angular 2 Was Excruciating

#159
post #142

Earlier quoted context omitted.

It's certainly an interesting conundrum, and I agree that eventually without ecosystem support Alice and Bob might find things a little tough. However, it's important to realize that the way the web is moving is to not only benefit the working professionals being paid to write it, but also the consumers who experience it. Why do we have minifiers and transpilers and modules and font icons? Why do we aim for one scrip…

the advance of minifies and transpilers and modules doesnt seem to increase page performance. one of the effect of it being so efficient to minify and transpile is that large imports and frameworks are easier to use, and that boosts the total JS lines of code, making the JS parsing take a long time, and the page performance get "janky"

Good point. And you could argue HTTP2/SPDY and GZIP makes concatenating and minifying files even less of an issue.

I'm not sure it's completely comparable though, file sizes would have increased even without minification.

Re: Why Learning Angular 2 Was Excruciating

#160
post #76

I've said it before here and I'll say it again: the JS ecosystem is moving in the wrong direction. Sometimes I feel that with Javascript, we developers have taken something that wasn't ours, and we're in the process of destroying the best thing there ever was about it. One of its best qualities used to be that you could have absolutely no idea what you're doing, read a few bad tutorials somewhere on the web, mash you…

I sometimes yearn for the days of the simple script tag that seemingly gave us the world at our fingertips. Especially when I have spent hours trying to get tooling to work alone. The constant updates, deprecation of libraries and tools before they even hit version 1.0, it can be tedious.

Having said that, I think in the case of the direction of Javascript itself: I believe it is going in the right direction. ECMAScript 2015 was a mammoth release that really took Javascript in a nice direction, the smaller ES2016 release adds a few minor features and ES2017 is shaping up to be another monumental release for Javascript. The ecosystem as you mention is really in a confusing state at present.

The only constant in all of this is Javascript. We are living in an era where things are being deprecated before they even hit 1.0. The one part of front-end development heading in the wrong direction is the questionable design choices of frameworks like Angular and React. The only framework I have seen which is abiding by actual web standards is Aurelia. The lack of Aurelia specific concepts means you're not committing to something proprietary you're stuck using, like the case with Angular 2 and ReactJS.

Then you have the elephant in the tooling room: Webpack. People are using it, it is becoming increasingly popular in the front-end space, but it has basically no documentation and it is incredibly confusing. People are using it, without even understanding it or knowing how to use it. Mostly learning from blog posts and StackOverflow. Webpack 2 looks promising, but it probably won't have any documentation either.

It is almost like nobody seems to plan anything, choosing to develop and release off of the cuff. Even when Babel dramatically broke things out and changed the way it works for v6, that was a painful experience for the ecosystem in itself. Then you have System.js, JSPM and other tooling/module loaders breaking things every release.

Post reply on HN