4 ms·
This has largely been my experience too. I was development lead for an angular shop. We did all the government Ministry of Health forms in Angular, millions o
by acoard 6y ago
This has largely been my experience too.
I was development lead for an angular shop. We did all the government Ministry of Health forms in Angular, millions of residents would use our forms every year. Our frontend team I lead fluctuated from 5-8 people over the years. We had to work on basically every device, making sure it'd work on IE11 and for blind users running screen readers is something we'd do every single release. I say this not to brag, but just to say I lived and breathed angular for years, I was hired as the "angular guy", and I even wrote an npm-publiished library of re-usable components specifically to match Ministry of Health forms.
My opinion of the Angular team and their stewardship of the project had ranged from mildly impressed, to disappointed, to alarmed. They frequently missed their own targets, the big one being Ivy, their compiler, which got pushed back 2 full releases and was constantly plagued by issues. (I left that job right as Ivy was released. Is anyone using it? Has it been a success?)
Like you, I saw the Angular team constantly speaking to compiler optimizations, but never once saw those benefits manifest. To be honest, it just felt like they were using the typescript compiler (tsc). I never saw any performance benefits over tsc. In fact, now using React/tsc/webpack, I feel like the compiler is more configurable and powerful.
In around 3 years of Angular updates the only feature we really used was the improved lazy loading of modules. I also used a bit of their codegen stuff ("Schematics"), which was promising but incomplete. Even though they were in release notes at the time, they lacked documentation and seemed like the team was bragging about features that weren't ready for light of day[0]. In the same timespan (~2016-Jan 2020), React got: server side rendering, pure components, hooks, profiling tools, improved lazy loading, and many _measurable performance increases that benefited projects across the board_[1].
Also, the Angular team began to increasingly focus on Material integration. We were a Bootstrap shop (ministry, at the time, required bootstrap styling). It was disappointing to see all those updates and know we couldn't use them.
I will say that generally speaking Angular's opinionated, more enterprise-y approach to frontend absolutely has a place. For certain workplaces, like my former big corp one, having an opinionated enterprise-y language made onboarding easier and devs more consistent. The most disruptive devs we had were hotshot react devs who wanted to make our Angular code base look like their flavour of React. I use React now, and love it, but there are pros and cons to having an opinionated framework/library (not having that fight).
And worst of all, the team itself seems to be imploding and toxic as you've alluded to.
I left that job for other reasons, but I'm glad I'm working with React and Vue more heavily now.
[0] https://medium.com/@lifenshades/difference-among-angular-8-7-6-5-4-3-2-breakdown-new-features-and-changes-811fb5f8e6f0 https://medium.com/@lifenshades/difference-among-angular-8-7...
[1] https://en.wikipedia.org/wiki/React_(web_framework)#History https://en.wikipedia.org/wiki/React_(web_framework)#History
edit: The other great part about the Angular community is it's TS first. I miss that about React/Vue.
- intellix 6y agoI was really hopeful for Ivy due to the bundle size improvements and was kind of expecting a silver bullet and saw around a 2% improvement. From their blog post: - Small: 30% - Medium: 2% - Large: 25-40% Our initial Angular 1 bundle was around 1mb. After updating to Angular 2+ it was around 2mb and after leaving the company in the hands of developers who were fairly junior I can see that their main bundle has now grown to 2.8mb. Another project with various junior devs has 2.9mb. This is what is frustrating when I see our sister company pull out a 1mb react app with little effort... No matter how much effort I put in, it's never going to be achievable. Our package.json is extremely conservative as well. https://blog.angular.io/version-9-of-angular-now-available-project-ivy-has-arrived-23c97b63cfa3 https://blog.angular.io/version-9-of-angular-now-available-p...
- pseudobry 6y agoOur app went from 3.5 MB to 2.3 MB when we switched to Ivy. Our app is ~73k lines of code (not sure what "size" that makes it) and uses Angular Material heavily. It's a corp app though, not too concerned about bundle performance (yet).
- dmitriid 6y agoAs an outside observer, to me Angular seems to be an unending chain of quests solving issues introduced by a previous quest: https://news.ycombinator.com/item?id=20040877 https://news.ycombinator.com/item?id=20040877
- intellix 6y agoyep, it looks to be the case. Actually I was fully on board with the whole static typing and compiler stuff until I opened up a React project and saw all of the benefits being touted are already there. All variables in the view are already referenced from TS/JS so you don't need any additional tooling. I suppose when TS started supporting JSX/TSX it was no longer a problem
- JMTQp8lwXL 6y ago> My opinion of the Angular team and their stewardship of the project had ranged from mildly impressed, to disappointed, to alarmed. If you look at projects that try to be all-encompassing (e.g., like MeteorJS or Angular), you'll see a similar story line. To achieve everything they set out to do, the stars must align: ample staffing of the team, good architecture/design decisions that need not be reverted later, etc. Having gone through this with multiple technologies, I am now skeptical of projects that over-promise or are too widely scoped.