Design decisions can easily allow you to implement the same functionality in an order of magnitude less code.
Also, research shows the number of bugs per line of code is pretty much constant across programming languages and kinds of programs. So reducing the number of lines of code will almost certainly reduce the number of bugs, statistically speaking.
So glad Angular is dying off. It looks nice on the surface but as soon as you try to do something outside the tutorial it gets nutty.
React is at a great level of abstraction between code and UI framework. It reminds me of the MVC frameworks of olde, which by all accounts were great, just limited because they relied on page refresh for everything
I come from Angular (Angular.js, Angular 2, 4, 5, 6 and 7) and now work on React.
React works really well but if I chose it for a personal project today it would only be to avoid switching back and forth, not because I think it is better.
Uh, I'm gonna challenge you to give a source on that. Your comment sounds extremely biased towards React and dismissive towards Angular. None of those are dying out, I wouldn't we even say they compete directly.
I've worked on Angular stuff for years because my employer won't let us switch. Angular uses too much abstraction.
Angular does crazy things to the templates, to the point that trying to build your own UI widgets is a recipe for pain.
Template meta-language is stupid. It's just similar enough to JS that you mess up the syntax all the time and never really stop. Since it's not just JS like JSX there's not good linting support either.
Related, stupid "pet features" and hydra syndrome. Like Pipes. Why does Angular use these weird pointless things when you can do the same thing with JS built-ins? Just so they didn't have to copy JSX? We may never know. And why are there 2 form implementations that both feel half baked? Why is it so bad to instantiate components for testing? Why does it mangle the code to support dependency injection when decorators and DI support don't even actually exist in JS even in ES2018? Why is Polyfills.js such a minefield? I could go on but really, why are so many things half assed and haphazard. It reminds me of Go...
Constant "expression changed after it was checked" errors because the data model change tracking is fundamentally broken
Repeated refactoring of HTML form interop and it still kinda sucks
Major breaking changes on nearly every upgrade that take days to do, even on our small apps.
Crappy documention. There's no usage examples for most of the library, just the Angular version of Javadoc.
Terrible bike shedding by Angular and Material teams. I'm following a bunch of issues and I've never seen one closed. I've been following some of the threads for years.
That was a nasty rant but I have plenty of things to hate about Angular. React on the other hand has a mostly clean core API and doesn't force all this baggage on you. IMO this has spawned a competitive ecosystem where the bad ideas get shaken out. Angular is stuck in the past and feels creaky compared to React development these days.
JSX is the future. It's exactly how MVC frameworks used to work, and it would be popular for templating even if the rest of React didn't exist. Change tracking with props is another. It's simple, it works. Angular change tracking errors are the segfaults of front end dev
>Constant "expression changed after it was checked" errors because the data model change tracking is fundamentally broken
Sounds like are doing something wrong. At least I can't remember that particular one from three years of Angular >=2
> Repeated refactoring of HTML form interop and it still kinda sucks
Major breaking changes on nearly every upgrade that take days to do, even on our small apps.
I did most of upgrades for over a year I think. They were mostly trivial after reading up on the changes and I don't consider myself a 10x engineer. Pro tip: Learn to use this repo: https://github.com/cexbrayat/angular-cli-diff
> Crappy documention. There's no usage examples for most of the library, just the Angular version of Javadoc.
Not perfect (internal inconsistentencies where one paragraph says "don't do this" and a couple of pages down they do exactly that).
But far far from Javafoc.
> Terrible bike shedding by Angular and Material teams. I'm following a bunch of issues and I've never seen one closed. I've been following some of the threads for years.
I don't like Material either ;-)
For everyone else:
Like always: keep it simple. Stick with the standards. Use a good ide/editor. Use Angular CLI, stick to the style suggested by that even though you don't have to use it for every small thing.
Angular is 100% fading, albeit slowly. Seems like a lot of slow moving enterprise companies are still going with it anecdotally. I'd bet on very few new projects opting for it currently, and probably near zero within 2-3 years.
As to why, IMO Vue ate Angular's lunch. Single file components did everything angular's MVC wanted without all the failures like $scope and other things. React and Vue can coexist, but I think Vue and Angular are direct competition. Also see those developer surveys and the massive growth of popularity of Vue along with angular's fading.
The 2019 popularity link isn't, and the technicality difference between AngularJS vs 2+ isn't incredibly relevant at this macro level when AngularJS's failures are very much a reason 2+ failed to be adopted. While it came with big changes, it's still not that significantly night and day different to act as if they aren't related.
You're right that MVC no longer applies, but Vue's components still beat Angular 2+ and the dev world seems to have spoken pretty loudly about feature preference/priority, and many of those mean Vue over Angular while leaving React a bit more in its own world.
I agree in the broad sense, but this isn't entirely true.
Feature-wise, Next does seem like a superset of Gatsby, especially since it can support server, static and hybrid rendering models. Architecturally, Gatsby does have some advantages. They're not ones that are particularly important to me, but I don't think it's fair to ignore them:
- The plugin model is more sophisticated, and there's a huge ecosystem of them which can solve most common use cases.
- The ability to use a unified data graph means page invalidation and rebuilds upon data changes can be done automatically at a very granular level -- because it's possible to keep track of which pages would be affected by every piece of data.
I'd add that I have issues with both, which leads me more to Next.js because it has a lower level of vendor lock-in compared to Gatsby. Anecdotally, migrating a small site from Gatsby to Next.js replaced 150 Gatsby-related imports with 10 Next.js ones.
(not GP) with React, declarative JavaScript code can result in HTML. JS -> HTML
Server side frameworks (the usual favourites) have existing ways for code to result in HTML. Ruby/PHP/Java -> HTML
Vue on the other hand can sit within HTML. So you can sprinkle in client-side logic in the views while still generally going with the grain of your server side framework.
We are blowing it all on the stupid military when we could have been spending it on cutting edge medical research. We spend trillions blowing stuff up instead of spending trillions searching for ways to improve our health and lives.
Agreed. The temptation is there though. I almost jumped in today to capture some of that, but then I saw that the things I would consider are still very much overpriced ( nnn, berkshire, apple ).
I may end up being wrong, but it seems like we are not near bottom.
Don't buy after the first big city is quarantined. Maybe after the second or third... But know you are taking an incredible risk unless you are using funds you can hold in that position for years.
How is it hypocritical for the atlantic to state this? Maybe you dont realize it but unlike China, US newspapers are not mouthpieces for the government
I think this article is a waste of time. Rather than using actual sources the author uses scenes from mtv highschool sitcoms to prove their point. Also the author injects their personal bias into everything.
I think there’s a difference between illustrating an idea and proving a point.
When illustrating an idea, It might be sensible to use relatable examples that make the concept easier to grasp. I don’t see that an attempt to prove a point or persuade in and of itself.
I do however believe that if you disagree with the greater piece, it could be easy to pick on this kind of example to create the appearance of childishness / lack of seriousness. An easy win but not necessarily with merit.