Skip to content

doingandlearning/advAngularAug2023

Repository files navigation

Advanced Angular

Kevin Cunningham August 2023

Miro: https://miro.com/app/board/uXjVMwF93CU=/

Timings:

  • 7-9.30am (BST) / 11.30-2pm (IST)
  • 12.30-2.30pm (BST) / 5pm-7pm (IST)

Intro and Setup

  • Learning Objectives: Establish course expectations, gauge participants' existing knowledge, clarify goals, and ensure proper environment setup.
  • Summary: Introduction to the course, gathering information on what participants already know, understanding what they want to learn, and setting up Angular environment.

Architecture

  • Learning Objectives: Understand Angular architecture, components, directives, services, and modules, and how to structure a large application.
  • Summary: Detailed exploration of Angular's core architectural concepts, including creating components, utilizing the CLI, and binding data.

Testing

  • Learning Objectives: Grasp testing essentials, explore test-driven development, code coverage, test automation, mocking, and TestBed.
  • Summary: Introduction to testing methodologies in Angular, including writing and automating tests, leveraging mocks, and understanding how testable components fit within the architecture.

User Experience

  • Learning Objectives: Create a consistent and modern user experience, de-bounce fields, and understand quality-of-service for UI.
  • Summary: Techniques for crafting engaging user experiences, ensuring quality interaction, and implementing responsive designs in Angular.z

Routing

  • Learning Objectives: Design meaningful client-side routes, pass data efficiently, explore custom events, and large-scale apps.
  • Summary: In-depth look at Angular's routing capabilities, including how to design routes that meet specific application needs and optimize data transmission.

Security

  • Learning Objectives: Understand built-in Angular security features, learn to build secure interactions, and decide on model data persistence.
  • Summary: Exploration of security practices in Angular, focusing on protecting user data, secure communication, and understanding where to persist data.

Forms

  • Learning Objectives: Master ideal validation techniques, understand template-driven and reactive forms, and explore real-world examples of data-driven forms.
  • Summary: A comprehensive guide to working with forms in Angular, focusing on validation techniques, different types of forms, and practical examples.

// Simulate a CSRF attack

Data Modeling & Performance

  • Learning Objectives: Deal with large and rapidly changing data sets, optimize renderers, explore custom class inheritance, and understand when to use Promises or Observables.

  • Summary: Deep dive into managing data in Angular applications, including handling large data sets, enhancing performance, and using custom class inheritance.

  • Change Detection Strategy [Default, OnPush]

  • including tree shaking, lazy loading, and code splitting.

  • focusing on optimization at the code and architectural levels

  • Lifecycle hooks - ngOnInit - why and when would we use the other hooks?

Full-Stack ECMAScript

  • Learning Objectives: Explore real-world examples using server and client-side ECMAScript, and understand trends in noSQL data storage, Node, and related technologies.
  • Summary: An examination of full-stack development using ECMAScript, focusing on current trends, technologies, and practical examples.

Optional Session: Migration Strategies from Older Angular

  • Learning Objectives: Understand how to migrate an older Angular application to the latest version; identify potential challenges and best practices.
  • Summary: Guidance on migrating from previous versions of Angular, including tools, common obstacles, and best practices for a smooth transition.

Optional Session: Building and Distributing Libraries

  • Learning Objectives: Learn how to design, build, implement and distribute Angular libraries.
  • Summary: Techniques for building reusable parts of an Angular application, focusing on creating modular and maintainable code.

Optional Session: Debugging and Troubleshooting in Angular

  • Learning Objectives: Develop skills to identify and resolve common issues in Angular templates and applications.
  • Summary: Hands-on practice with debugging Angular applications, focusing on templates, testing techniques, and common troubleshooting strategies.

Optional Session: Working with NgRx

  • Learning Objectives: To understand NgRx and use actions, reducers and selectors effectively.
  • Summary: Build a small app together that will use all of the core NgRx concepts that can be applied to more complex use cases.

Optional Session: Performance Optimization

  • Learning Objectives: Learn techniques to optimize the performance of an Angular application, including tree shaking, lazy loading, and code splitting.
  • Summary: Advanced performance techniques to make Angular applications faster and more efficient, focusing on optimization at the code and architectural levels.

Optional Session: Working with Local Storage

  • Learning Objectives: Understand how to work with local storage in Angular for state management and data persistence.
  • Summary: Practical guidance on using local storage in Angular applications, including common use cases, best practices, and considerations for security.

Optional Session: Building Standalone Components in Angular

  • Learning Objectives:

    • Understand the concept and importance of standalone components in Angular.
    • Learn to design, create, and implement standalone components for reusable UI elements.
    • Explore encapsulation, input/output bindings, and best practices for standalone components.
  • Summary:

    • An exploration of standalone components in Angular, focusing on creating reusable UI elements that can be easily integrated across different parts of an application.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published