Did you know that by being on the internet reading about Angular, you're taking advantage of one of the best parts of Angular? Angular isn't defined only by its code, but also by the people, tools, systems, and communities that surround and enrich it.
The ecosystem is always changing and evolving, so I'm writing this guide to try to point out some of the landmarks that developers new to the space should be aware of. I know I'm leaving out a ton, but I wanted to keep this list as short and sweet as I could.
Starting PointsThere are several official places you should know about when you are just getting started with Angular.
angular.io - The official site for Angular. This site has TONS of guides, reference materials, and tutorials that you could spend weeks diving into.
angular.io/start - In particular I'd like to point out this basic tutorial. It's focused on ramping you up on the most important building blocks of Angular (templates, components, services) and a handful of the most used features (router, http, forms, and deployment). It leaves out all of the background and theory about WHY things are the way they are. It intentionally ignores more advanced use cases.
angular.io/tutorial - If you are looking for a more theory/concept/feature-rich tutorial, check out the Tour of Heroes. It's been around a long time and hasn't changed much. Many developers have written in saying they love this tutorial.
blog.angular.io - To stay in the know with what's going on with Angular, where it's going, and to get tips and pointers from active practitioners using Angular, you couldn't find a better place than the Angular Blog. This is the team's primary communication channel with the world.
angular.io/resources - The team hosts a list of some of the top component libraries, tools, educators, and more all in one spot. If you are looking for one of these, this should be your first stop.
The CDK - Building components? I thought so. The CDK is a part of Angular that a lot of developers forget about. It contains tons of common behaviors and patterns that make building better, more accessible components easier.
Other ChannelsMany of the most essential resources in the ecosystem don't come from the Angular team.
Stack Overflow - Stack Overflow has been one of the go-to developer resources for a long time, and it remains one of the top places to get free support for whatever challenge you are facing with Angular. Just make sure you read through previously submitted questions first!
The Angular Issue Tracker - Angular is built with the community on GitHub. If you aren't looking for support, but want to file a bug or send a feature request, it's pretty easy to create an issue, but again, make sure you check the issue tracker first and follow the templates.
rxjs.dev - This is the official site for RxJS. If you are looking for an operator to solve whatever reactive or functional programming challenge you've cooked up for yourself, definitely check out the Operator Decision Tree.
MDN - The MDN Web Docs are my go-to reference for everything web. Nothing you find here is going to talk about Angular, but most of the APIs for building Angular apps are the same as for building web apps. The reference materials on browser support and API specifications are worth their weight in gold. I just spent an hour this week looking at the ImageCapture API, for example. Most of the time I end up here via Google Search, but when you see it in your search results, you should know it's one of the best resources out there.
Angular Google Developer Expert List - This is a directory of GDEs certified by Google. Pick Angular in the drop-down and you'll get our Angular Google Developer Experts (GDEs) are certified individuals that blog, speak, write, build with Angular. It's a fantastic and welcoming community that has businesses and passion around making Angular developers successful.
Meetups - You can find lists of local and online meetups on meetup.com or Maxim Salnikov's repo. Whenever I'm traveling near a new major city, I basically google
<city-name> Angularand most of the time there's a meetup that's happy to come together to share and learn and grow together. Attending a meetup is a great way to connect with your local community, share your cool projects, and learn about what's possible.
ng-conf and AngularConnect - The Angular team speaks at more than 50 meetups/conferences per year, but the two biggest ones for the team are generally ng-conf in Salt Lake City, Utah, and AngularConnect in London. These are huge events that bring some of the best Angular content and creators together each year. If you want to meet the team or start your journey as an engineer using Angular, these events are two of the best. (FYI COVID-19 has affected all conferences, including these)
ngGirls - ngGirls is a great organization that runs workshops regularly and at major conferences. They teach Angular to folks just entering the industry and those looking to grow their skillsets.
Nx - If you are planning on building or maintaining a large scale Angular app or full-stack application, Nx has a fantastic command line that extends the Angular CLI and adds things like incremental builds, remote caching, and much more.
StackBlitz - StackBlitz is my favorite web-based IDE. You can get started with a blank project or check out an existing one from GitHub. They have a really exciting vision for what it can feel like to build applications in a universal no-installation IDE.
Component LibrariesBy this point in the list, you have probably started building some really cool apps. I implore you to keep your focus on delivering great user experiences. One of the ways to do this is to make sure you involve a designer in your project, but if you don't have a designer or want a solid foundation to build on, here are some component libraries that I think are great.
Angular Material - The Material Design philosophy manifested as Angular components, maintained by the Angular team. If you like the Material Design aesthetic, this is the library to use. It's got great accessibility and is always up to date with the latest and greatest from the ecosystem.
Ionic - Want to have an experience that adapts to the device your user is currently touching? Ionic combines great web technologies with great user experience. You should also check out their other project, Capacitor, which is a way to give your web-technologies-based application access to mobile APIs and the app stores.
ng-bootstrap/ngx-bootstrap - Like the Bootstrap look and feel? Take a look at these two similar libraries. Both are actively maintained and invested in giving Bootstrap a first-class experience with Angular.
Clarity - Direct from VMWare comes the Clarity Design System and components. Complete with Figma libraries and their own research-based guidelines, Clarity is a great choice.
PrimeNG - Another solid design system, used by lots of large companies from around the world. If this is the design system for you, you'll be in good company.
Kendo - A paid component library isn't for everyone, but if you are looking for a library with paid support, this is a great option.
Indigo Design - Indigo Design is a less known (in Angular circles) paid option that combines a design system with powerful capabilities like Angular code generation.
So many more! Go check out the angular.io resources page for more.
Go be part of the ecosystem!Hopefully, this list is at least a little bit useful.
I know I left out a TON of materials and people and tools. I tried to keep this list as short as I could. This is the magic of the ecosystem, one person doesn't control it. Go out and make your own list or send me a note asking me to add you.