Skip to content

Instantly share code, notes, and snippets.

@hbweb
Last active September 2, 2023 02:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hbweb/80a8f5339cf74b0ff316dd43d65ca33d to your computer and use it in GitHub Desktop.
Save hbweb/80a8f5339cf74b0ff316dd43d65ca33d to your computer and use it in GitHub Desktop.
Angular Pro Topics - All things you need to know about Angular to become Angular Expert
Dear guys,
To become an expert in Angular, you should delve into these advanced topics:
* Angular Basics:
Assume that you already know a bit about Angular / Angular CLI on how to setup a project with Angular from Terminal.
A good place to start is reading Angular docs cover this topis. In this gist, we won't dive into this as it is out of scope.
* Content Projection:
Undertand of Content Projection with <ng-content> <ng-template>
Viewchild, ContentChild and how to creat/destroy a component dynamically.
* Advanced Dependency Injection:
Hierarchical Injectors
Custom Providers and Injection Tokens
Dependency Injection Scopes
Resolution modifiers
* RxJS Mastery:
In-depth understanding of RxJS operators and patterns.
Handling complex asynchronous scenarios using switchMap, mergeMap, concatMap, etc.
Combining streams, error handling, and advanced transformation techniques.
* Advanced State Management:
Deep dive into NgRx for reactive state management.
Implementing NgRx effects, selectors, and entity patterns.
Structuring large NgRx applications with feature modules.
If possible, please do a quick research on other State Management built on top of NgRx
and how Angular Signal would change this.
* Performance Optimization:
Advanced AOT (Ahead-of-Time) compilation techniques.
Lazy loading and optimizing initial bundle size.
Efficient change detection strategies (OnPush) and performance profiling.
Using Angular Signal
* Server-Side Rendering (SSR):]
Understanding Angular Universal for SSR.
Implementing server-side rendering for better SEO and performance.
* Advanced Routing Techniques:
Route resolvers for fetching data before route activation.
Custom route guards with complex conditions.
Route animations and advanced navigation techniques.
* Testing at Scale:
Advanced unit testing with TestBed, mocking, and spies.
E2E testing with Protractor or Cypress for complex scenarios.
Test-driven development (TDD) methodologies and best practices.
Marble Testing for NgRx.
* Advanced Directives and Pipes:
Creating reusable custom directives.
Building complex structural and attribute directives.
Creating advanced custom pipes and understanding pure vs. impure pipes.
* Optimal Component Architecture:
Applying SOLID principles to Angular components.
Advanced component communication techniques (RxJS subjects, services).
Smart vs. dumb component patterns and best practices.
* Custom Angular Schematics:
Creating custom schematics for generating code.
Automating repetitive tasks and enforcing best practices.
* Continuous Integration & Deployment:
Implementing CI/CD pipelines for Angular applications.
Deployment strategies, Dockerization, and progressive web apps (PWAs).
* Security Best Practices:
Cross-Site Scripting (XSS) prevention techniques.
Securing RESTful API calls and handling authentication/authorization.
* Internationalization and Accessibility (i18n/a11y):
Implementing localization and translation with Angular i18n.
Ensuring web accessibility with ARIA roles and attributes.
* Deep Dive into Angular CLI:
Advanced CLI commands and configuration.
Customizing build processes and optimizing performance.
* Advanced Debugging and Profiling:
Using Chrome DevTools for Angular debugging.
Identifying memory leaks and optimizing performance bottlenecks.
Keep Up with Latest Updates:
Stay current with Angular updates, best practices, and emerging technologies.
Becoming an Angular expert involves not only mastering these technical topics but also continuously practicing, learning from real-world projects, and contributing to the Angular community.
Few other things you could also take a look at:
- NX Monorepos by Nxwl
- Publish Angular library
- Share your knowledge to others
Thank you and wishing you become Angular Expert real soon!
Regenerate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment