Skip to content

hbweb/talk-angular-pro

Repository files navigation

Angular Pro

This project was generated with Angular CLI version 16.2.0.

Live site is on Angular Pro.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

Topic Discussion

Content Projection:

Undertand of Content Projection with 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