17 ms·
Angular 13
- adrianvoica 5y ago...wait! are you guys still using this in 2021 (almost 2022)? :) Jokes aside, I hear less and less people (friends from the dev scene) using Angular these days. Wonder if it's just what happens to stuff (especially, software-related) after it matures... it gets out of sight, does the job, but nobody talks about it anymore.
- caporaltito 5y agoSorry, there are a lot of developers who do not like to recreate on React what Angular already offers from scratch.
- adrianvoica 5y ago:) who said anything about react? react has been aggressively advertised for so long that it's the "default" in devs' minds when talking about JS framweorks/libs. There's lots of other frameworks and tools these days to choose from (if not dictated by corporate policies), the World is a very big place. Anyway, though, I quit developing angular since v6, good to see solid progress.
- 2muchcoffeeman 5y agoIt could also be that once a competing platform gets a certain critical mass, it’s easier to learn said platform since everyone knows it know.
- madethemcry 5y agoI think that's a pretty good point about maturity. If it's just working people use it without talking much. Similar to Ruby on Rails (RoR) for example, although Angular still changes a lot more than Rails these days. Another point going into the same direction especially for Angular: It's a very important framework for big enterprises in industries like banking & insurance and probably more I'm not aware of. There are large networks of developers organized in isolated or self-hosted GitHub Enterprise or GitLab instances of enterprises working with Angular, but most of them are not able to talk publicly about it. I'm sure there are hidden projects based on React, Vue or Svelte too, but I have the feeling the biggest enterprises rely a lot on Angular but don't talk about it, which skews the way people perceive the overall framework landscape.
- fuzzy2 5y agoAs always, the standard info: $big_corp is absolutely still using Angular for everything, even for greenfield development. However, their developers often aren’t as outspoken and the software is often for internal use only. Don’t underestimate the corporate landscape. It’s super conservative. And then, Angular isn’t really something to get passionate about, in my opinion.
- deleted 5y ago[deleted]
- ptrwis 5y agoIt is best to check the number of job offers for each framework. Angular and React are the most popular, much less for Vue and almost none for Svelte.
- goto11 5y agoI have written a piece of code which transform an Angular project into a React project. Wonder if there would be interest if I open-sourced it?
- hackerbrother 5y agoOf course! Just clean it up and make sure the install instructions are clear is my 2 cents.
- machiaweliczny 5y agoPlease do. I've written RivetsJS to React with JSCodeshift but it's tloo poor quality to OSS it. Anyway the faster we can get rid of Angular the better :)
- goto11 5y agoI actually think Angular is fine, and competition between frameworks benefits everyone. React was just a better fit for this particular project. I feel Angular is too much overhead when you don't use the more advanced features.
- josteink 5y agoOh yes please.
- liminal 5y agoThe persistent build cache is the feature that jumped out at me. It was also the only feature that had its performance impact quantified ("up to 68% improvement in build speed"). All the other improvements notably lacked any quantification, making me think they aren't worth much beyond improved architecture and hopefully greater improvements in the future
- dSebastien 5y agoFor those interested, I've published an in-depth article about Angular 13: https://dsebastien.net/blog/2021-11-05-angular-13-in-depth https://dsebastien.net/blog/2021-11-05-angular-13-in-depth
- amitport 5y agoRelease notes: Angular - https://github.com/angular/angular/releases/tag/13.0.0 https://github.com/angular/angular/releases/tag/13.0.0 CLI - https://github.com/angular/angular-cli/releases/tag/13.0.0 https://github.com/angular/angular-cli/releases/tag/13.0.0 Components - https://github.com/angular/components/releases/tag/13.0.0 https://github.com/angular/components/releases/tag/13.0.0
- amardeep 5y agoAngular has been working really well for us except for large build times. Glad that this release improves upon it.
- rado 5y agoSlow clap for the belated accessibility features that should have been there in the beginning.
- fareesh 5y agoI abandoned angular (around version 5) because even a simple application was unusually large in size, and I did not want to have to deal with the disproportionate time investment of trying to squeeze out performance / optimization / reduce bundle sizes. Have these kinds of issues been improved since? At the time it, at best, seemed like a decent fit to build things like backoffice / admin related tools. On a related note, if you were building a web project in 2021, given the multitude of JS framework options available, which ecosystem would be your go-to pick in most cases that gives you: - Performance - Tree-shaking/AOT compilation/chunking/minification/cache-busting other optimization magic out-of-the-box. - Good debugging tools - A seamless way to drop-in to an existing server-side web framework without wanting to take over routing and other such things - Good compatibility with third party JS
- romanovcode 5y agoFor all these points the correct answer would be Angular.
- caporaltito 5y agoAngular 5 is like prehistory now. You should check how Google has improved the compilation, for instance. This is like day and night.
- rawoke083600 5y agoSame.. although I only left Angular around v 8/9 if I recall. These days, I can't imagine using anything but Svelte/SvelteKit for anything JS.
- icemelt8 5y agoReactJS 18
- Tade0 5y ago> Have these kinds of issues been improved since? Currently in an Angular project and I would say "somewhat". Our production bundle is still >1MB if you include all the polyfills etc. As an alternative I recommend Svelte Kit: https://kit.svelte.dev/ https://kit.svelte.dev/ But it's best to wait until it's out of beta. The value proposition here is that it's performant, bundles are exceptionally small since it's more a compiler than a framework and you need less code than in say, React, to achieve the same result. Now that it has TypeScript support the developer experience is decent as well.
- Alir3z4 5y agoIt's like either use Angular or end up building an Angular when you choose a smaller/lightweight framework. At least so many times it's true in my case. Angular gives so much out of the box without making your double think it, well it's an opinionated toolset for sure. However, any other frontend framework I've used and know, makes you to build all those stuff form scratch or get them by adding more and more dependencies to your project. Great release and can't wait to try the performance optimization and build enhancements. Looking forward to see esbuild gets more and more involved in their toolchain.
- friendly_chap 5y agoThis is exactly my experience. I also recently heard a story (from a close friend) of a rewrite to React where a good few months were spent on questions like which routing (or whatever) library to use, all things provided by Angular out of the box. JSX mixing presentation and business logic also looks weird for someone who lived at a time when not doing MVC in PHP was a blasphemy and would not get you a respectable job. Admittedly AngularJS was horrible but nowadays Angular offers me everything I need while I watch other people moving to Nextjs or whatever latest buzz frameworks for features Angular provides (like server side rendering).
- vbg 5y agoMonths choosing routing? If so then they have bigger problems.
- friendly_chap 5y agoIt's life. It's one thing to call people amateurs from a sofa and an other to find yourself in 20 person team arguing about things. The easy solution to arguments is having less things to argue about, similarly how Go solved formatting wars by an official format, Angular solves those fights by providing a default implementation.
- 5e92cb50239222b 5y ago
- mythz 5y agoAngular is the EE of JS FX’s (inelegant and bloated), always surprised when some devs choose it over Vue, React or Svelte.
- throw_m239339 5y ago> Angular is the EE of JS FX’s (inelegant and bloated), always surprised when some devs choose it over Vue, React or Svelte. Cargo culting. There is absolutely no need for a IoC container with Javascript or any other dynamic language for the matter. It only ever made sense for compiled language in order to allow reconfiguration without recompilation. I say that as someone who heavily used AngularJS in the past. Angular X always seemed to me like a project looking for a problem and not the other way around, trying to justify its existence with complexity and bloat.
- Oddskar 5y agoI’ll bite. Say you have a singleton service class that needs to be accessed throughout your SPA; where would you instantiate and keep this?
- mythz 5y agoTypically you'd just export: export const singleton = new Singleton() and import it like any other symbol, e.g: import { singleton } from './providers'
- pfooti 5y agoWhat happens when that singleton has dependencies? And they have dependencies? Not unrealistic once you have a config block that sets stuff like language direction ltr/rtl or API endpoint at runtime based on test/prod env. Not saying that these are impossible, but at some point you either end up reinventing dependency injection, or you end up with all the problems that cause people to invent dependency injection.
- 5y ago
- raleigh_user 5y agoAngular is not my cup of tea, but the team is putting out great work and the product is really useful for certain teams. Great work.
- brynjolf 5y agoI feel like Angular is the "dark matter" developers choice. It gets picked to do shit now, not tomorrow. Therefore every comment on these updates for Angular are a repetition of "Isn't Angular dead yet?", the hype for a new Angular release is not the same as for a React one, because the developers using it use it to do boring but helpful CRUD applications.
- elramon 5y agoangular is shit
- elramon 5y agoif u want me to elaborate on this I could say: - boilerplate - unsafe two way data binding - not functional in any way - the hell of the DI with services - laggy and heavy
- deleted 5y ago[deleted]
- matsemann 5y agoI used Angular1 for years. Then Angular2 for a while before being assigned to a React project. Then elm for 3 years, and now back to React. So really now idea how ng looks today. But one thing I really liked about ng was directives. It allowed you to compose and reuse stuff, and attach multiple behaviors to the same node that could cooperate. Of course it could end up being hard to grok sometimes. But for instance having various input components, and then being able to attach various validation directives to those seamlessly in the html was very nice. Almost like an entity-component-system in game programming. React does something similar now with hooks (didn't exist when I used react the first time). Allowing you to compose stuff more easily compared to when class-based. But still have to write the glue code between all hooks in a component, though that makes it more visible what's going on.
- cies 5y agoWhat are your thoughts on Elm? And why did you switch (if it was be choice not merely a change of jobs)?
- matsemann 5y agoChange of jobs, yes :) I'd use elm again if given the opportunity, certainly. Enjoyed it very much. But I wouldn't evangelize my current company to switch, exactly. While it's not hard to learn elm, everyone here already knows react. And while elm leads to very robust code with little bugs and no runtime errors, it's at a cost of implementation speed, not everything is straight forward to write the elm way.
- cies 5y agoThanks! > everything is straight forward to write the elm way. Same could be said for React and Angular I guess; but mainstream drama is easily forgotten. :)
- matsemann 5y agoYes, but in React for instance, you could always do something "dirty" if you want. Like adding a class to some random parent element when a modal is showing from within deep down in the component tree, and remove on unmount, and also trigger a google analytics event. In elm, the GA event is a side effect, so it has to come from your update function, using a port out to JS. So it has to be triggered by the same conditions showing your modal. Sometimes that leads to that logic being duplicated. And the modal either the same to trigger some js code to set the class, or set a value on your main model somewhere and edit the render function of that specific element to take the new classname into account (so have to modify some other part of the code). Of course, it leads to maintainable code with little surprises. But at a cost of a stricter way to do it.
- polyterative 5y agobeen using angular for the last 4 years with great success, happy to see performance improvements
- EMM_386 5y agoI am a big fan of Angular (2+). While I can't exactly say I now enjoy front-end development 20 years into it, I can say it is a much more enjoyable experience than it used to be. I'm coming at it from a strong OOP background, and while people call it "opinionated" I have no problem with that. My current project is Angular v12 and C# .Net 5 for APIs and it all just works, C# developers who don't have experience with SPAs can read the code and see at a glance what is going on. "We can inject the UserService in the constructor here and get the current ID", etc. I have worked with React but it seems to come from the other direction, JS-first, and is constantly changing how you should approach things, from hooks to routing.
- gspencley 5y agoI've worked on more React projects than Angular, and am very competent in both. I'll take an "opinionated" framework any day of the week over what I see in the React ecosystem. Every React project that I've walked into has looked completely different from each other. One common complaint about Angular is that it is "bloated." Yet every React project I've seen pulls in a million 3rd party libraries to solve the most trivial problems, and I've seen very few React apps that implement code splitting of features. So you have massive bundles being pulled into the client and the majority of code contained in those bundles are not going to be needed for a given user session because no user is going to use all features when they login. Also, JSX reminds me of PHP code in the 90s. While you can separate your markup from your view logic and styles with discipline, most React devs don't. Most components I've seen are a large hodgepodge of markup, styles and logic. Give me Angular any day of the week. - Give me view encapsulation so I can write straight-up SASS and have it scoped to a component. - Give me a template language to keep my view logic separate from my markup. - Give me dependency injection. - Give me code splitting / bundles right out of the box. Let me configure my routing without having to use components. - Give me a sane, reactive forms module out of the box. Form controls are the standard way of interacting with the end-user and so the typical front-end application will work heavily with forms in some shape or form (no pun intended). I have yet to find a decent forms solution for React. - Components should just be views. I like a framework that encourages developers to separate their concerns and get integration code, routing config, state management and the like into a separate layer of the app (and no, react hooks are not a good solution for this. They introduce tight coupling between the view and other app layers - I use them a lot, but they're no substitute for dependency injection). - Give me pipes. Formatting and manipulating string data is a very typical problem that views need to solve. In React apps you'll typically see low-level JavaScript code doing this type of stuff inside of markup.
- Klaster_1 5y agoI've been doing Angular front end development exclusively since 1.1 days (now on 12) and last couple of years I get the feeling this might negatively affect my future job prospects. The framework does the job just fine, of course it has certain long standing issues (boilerplate, mandatory host component, non-strict forms, hierarchical injectors), but you eventually learn how to live with these or work around. All the jobs seem to default to React nowadays and require prior experience, limiting the employer choice. Now, if an experienced developer wanted to join the team I'm at, I'd vouch for them even if they never touched Angular, but am not sure if other companies share my sentiment.
- Alex3917 5y agoIt's funny how everyone says they like React because "it's easier to learn", but employers only want to hire people with multiple years of React experience. Whereas with Angular, you just watch the 20-hour video tutorial and then at the end of the week you know it. As someone who mostly uses Angular on the front end, it feels like I'm trapped in the movie Idiocracy.
- Oddskar 5y agoIt takes quite a bit longer than 20 hours to really understand Zones, DI, rxjs, decorators, parenthesised routes etc.
- Bahamut 5y agoI don't recall needing to take that long. I'm someone who was pretty embedded in the AngularJS/Angular ecosystem for 5 years before (I was a major contributor to the open source ecosystem & was an early pioneer/advocate of some of the views that became common), and the past 4 years I've almost exclusively been working on React apps. There are a lot of things that I see in the React ecosystem that have been huge mistakes - prevalence of react-router, the worst router I've ever worked with minus Ember's, form story being generally awful/full of awkward APIs in libraries, react-query & overuse of hooks/context over something sane like rxjs to encapsulate async logic, hooks themselves being full of magic and needing your code to be written in certain ways sometimes terribly to satisfy opaque flow instead of something more explicit, and the testing story being filled with too much mantra about being integration test heavy instead of breaking up code to be lighter on integration tests, resulting in too many component tests being too integrated and breaking all the time/flaky as a consequence of the lack of focus. I miss Angular when it comes to a lot of these aspects some days, but I hated the DX story in Angular (it definitely got worse from AngularJS to Angular). I feel like the frontend world could do better than both React and Angular, but I don't feel like the other options available solves the union of problems, and I don't feel React is positioned to solve its problems, and Angular's problems seem limited by the personnel/leadership involved as well.
- Jenk 5y agoI have been a developer for 20 (e: I've just realised it's actually just over 25 years..) or so years now. I've attempted to "learn" Angular multiple times. I just can't do it. I get mental fatigue within an hour of picking up Angular CLI, or even just watching/reading tutorials. It speaks a foreign language to me. And I've got years of React, Vue, vanilla-JS as well as Java, Kotlin, Scala, PHP, Smalltalk, Go, Rust, .NET (and the various flavours that comes in) under my belt. If I put some effort into it I could probably regurgiate some Cobol, RTF, and other now-forgotten stuff, too. But Angular? I just .. can't.
- SilasX 5y agoI tried to pick it up 5 years ago or so and my main barrier was that any tutorial, even the official Google ones, was long obsolete and their examples would fail out the gate ... but I guess that's to be expected of frameworks in tech.
- neur4lnet 5y agoWhy do you think that is?
- Jenk 5y agoHonestly I'm not sure if there even is a big reason. The terminology doesn't feel right - I feel like I need to constantly remind myself what some of the terms mean compared to what I am used to, which I find occupies a tremendous amount of my cognitive capacity. "The tutorials are shit" doesn't help. They really suffer from the problem of the author expects the reader(s) to know what it is they are being taught ahead of time. "Tutorial 1: how to make a component. Step 1: Run `ng component <name>`. Now you have a component." type deal. Now I'm left to my own devices to find out what a component really is, etc. Another part is that it just isn't very exciting. I was/am more excited when using react or vue. I've been maintaining angular apps (albeit lightly) for nearly 2 years at my current role, but even here react is being introduced to replace it.
- romanovcode 5y agoI don't understand how can you not get Angular if you have .NET (assuming C#) "under your belt".
- pandatigox 5y agoOn an aside, what's the popularity of Ember.js these days? I remember it being hot in 2013 and I haven't heard about since.
- fasteddie31003 5y agoWord of advice. Don't use Angular. Use React. I'm working on maintaining a large Angular app right now and you don't ever want your app to become this monstrosity that consumes my sanity.
- deleted 5y ago[deleted]
- dagw 5y agoAnd just above you there is another, presumably competent and experienced developer, giving exactly the opposite advice.
- halfmatthalfcat 5y agoThis is terrible advice. Both can be used and have different strengths/weaknesses. Shit in, shit out.
- arenaninja 5y agoI think OP is correct for reasonably large projects I've worked on large multi-team Angular/React monorepos. The tooling was lacking for both but Angular feels like it actively gets in your way. React has a lot of churn and keeping your dependencies up to date but React itself is incredibly stable and gets out of your way My educated guess is that this is clear because Facebook actively uses React, where most Google web properties don't use Angular. There's projects where Angular allows a team to define a SPA UI relatively quickly and pain free. But for large projects, I would continue to choose React. Also, CSS encapsulation with Angular is great until it isn't: it can be overridden only with ng-deep which is deprecated with no alternative
- brynjolf 5y agoUpdating Angular is easy, just use ng update and you are done, plus it gives hints if there are manual handling.
- 5y ago
- danfritz 5y agoI've worked with angular 1.x never made it to the upgrade of v2 and moved to React. I couldn't grok the two way data binding which seems odd let alone all the decorators / services / controllers patterns. In the end I had no clue what I was doing. I do like to read up on these kind of things, but why should I be excited about Angular 13? Except from yay faster because of esbuild (like any other frontend framework).
- jcmontx 5y agoI come from a .NET background and I don't really like applying the same concepts I use in the backend to the frontend. I don't enjoy writing TS and would rather have much less boilerplate for doing simple stuff. Working with Angular has not been a satisfactory experience for me. However! I do advocate the use of Angular for larger teams, since that structure can help a lot when you have many hands.
- jfbaro 5y agoCongrats to the Angular team and its community. I think Angular is closer to Next.js than it is to React.js. I am excited to see all this progress on this front. What a time to be alive!
- umvi 5y agoIs it just me or does Angular-CLI seem incredibly bloated and slow (including building)? Usually CLIs are lightning fast. I can't help but think if Angular-CLI were written in a compiled language it too would be lightning fast. I don't see any reason "building" JS files should take more than a few hundred milliseconds.
- goto11 5y agoJavaScript is a compiled language, at least when executed by V8. Angular-CLI is probably slow because of the data structures used.
- spicybright 5y agoDoes v8 turn it into actual CPU code, or just bytecode?
- goto11 5y agoAs far as I know it is JIT compiled to native code. But it is a rather complex process, where the execution is profiled which informs the JIT'er to re-optimize. This obviously have some overhead compared to executing AOT compiled code, but the overhead is independent from how long the code takes to execute. So if something is noticeably slow, it is not because of the JIT compilation overhead.
- Zababa 5y agoIt's JIT compiled, which means that you have a startup cost. Java doesn't make for great CLIs, while Go does, and both have a reasonably close performance.
- iainctduncan 5y agoI work in technical due diligence, mostly of mid stage companies getting bought by private equity, so typically revenue of a $5-100 million. (Which, by the way, is the most common exit for tech companies now by far.) Perhaps surprisingly to some, I see much more Angular than React, 3 to 4 times as much. I've been doing this job for 3 years now, and it has been very interesting to see the gap between what you read in the tech online blogosphere, etc, and what most companies that are quietly making lots of money do. Devs at small startups and big tech giants both write and talk about what they are doing, folks in the middle not so much. From what I see, it seems most mid-stage companies doing unglamorous enterprise software in Java or C# with regular dev teams of 5-20 people prefer NG. Obviously a biased sample, but perhaps interesting to some folks.
- Alex3917 5y agoSuper interesting. This would make a really good blog post, at least if you have more thoughts/info to share.
- Traubenfuchs 5y agoFor me as a Java backend dev, Angular feels extremely welcoming. I can immediately turn my fantasies into reality with it. Kind of feels like the angular developers were all spring devs once. React always felt appalling and alien do me -and I wrote a whole react native app.
- dustymcp 5y agoSame here c# and angular i get the same feeling its very well documented and i always find a way, i never could get along with vue/react it just seems foreign to me no offense :)
- tawwwwaway 5y agoThat's some great information. May I ask what is your geography?
- jm20 5y agoThis could also be a selection bias based on age of company. A company in that revenue range is probably 3-5+ years old. Angular was much more popular back then, and even though it changed drastically with 2.0 there was a much clearer upgrade path than a full rewrite in something like React.
- rglover 5y agoAngular: how to make a mess while justifying the cost of your computer science degree. Embrace simplicity: https://github.com/cheatcode/joystick#joystickjsui https://github.com/cheatcode/joystick#joystickjsui.
- joshstrange 5y agoAngular kind of lost me in the rxjs move. I had been using it since v1 and used 2-7 but fell off the wagon around that point when I switched jobs and fell in love with Vue 2. I had used Vue 1 and enjoyed it but I only used it on a side project so I never fully learned it. For me, Vue felt much lighter than Angular and I could move faster. I really prefer the 1 .vue file for a page/component's HTML/(S)CSS/Typescript (though I know some people hate that). I still have yet to move anything to Vue 3 since it's TS support is different than Vue 2 (I currently prefer class-based components and it doesn't appear like Vue 3 plays nice with that, or at least last I checked none of the libraries I use have been updated). Eventually I'll bite the bullet on Vue 3 but for now I'm extremely happy on 2.
- josteink 5y agoI’m happy to see improvements in Angular (since I’m forced to work with it). I still don’t like it though. Too much frameworky stuff. Too much magic. Too much stuff which is impossible to debug when things go wrong. Fucking zones and overarchitecting everything with rxjs where it’s not needed and just adding complexity and errors not catchable by the Typescript type system, giving runtime-errors for what is compilation-errors in any other TS front-end framework. Compile-time mangling your standard ES-promises and shoving them into ZoneAwarePromises which are not handled by the normal JS runtime’s event-loop, but instead tossed into Angulars own micro queue system, all written in incomprehensible, minified JS. Oh and the terrible stack-traces and impossibility to debug anything once the framework decides to do things you never asked it (and it will!) Man I really don’t like angular, but at least now it seems I can build it faster. Sad to say, but for all the work put into this, I’d rather see this project die.