WeAreDevelopers LIVE • Dec 1, 2020

Hello generics, goodbye boilerplate!

Miroslav Jonaš

Is your enterprise codebase drowning in repetitive boilerplate? Learn how TypeScript generics eliminate copy-pasted NgRx patterns, drastically reduce code volume, and build scalable frontend architectures.

Pause
Mute Enter Fullscreen
#1 about 7 min

Redundancy in code and the boilerplate problem

How recurring architectural patterns lead to repetitive boilerplate code in large applications.

#2 about 3 min

Enterprise architecture and state management setup

How standardizing state management across enterprise Angular applications introduces boilerplate overhead.

#3 about 3 min

Understanding the NgRx state management flow

A breakdown of the NgRx redux-style flow handling state, actions, reducers, and asynchronous effects.

#4 about 5 min

Demonstrating state management in a practical application

Tracing the synchronous and asynchronous state flow using a practical web application example.

#5 about 3 min

Identifying and reducing boilerplate in NgRx actions

How standard NgRx action implementations generate massive amounts of repetitive boilerplate.

#6 about 5 min

Introduction to TypeScript generics for type safety

How TypeScript generics enable type-agnostic but strongly typed reusable functions.

#7 about 3 min

Applying generics to custom action definitions

Using a base action class with generic payload parameters to minimize action declaration code.

#8 about 7 min

Automating reducers with generic group factories

Creating group reducers to automatically handle repetitive loading, success, and failure states.

#9 about 7 min

Refactoring NgRx effects using generic creators

Designing generic effect functions to abstract away repetitive switch mapping and error handling.

#10 about 4 min

Eliminating boilerplate in general application code

Extending the use of TypeScript generics to optimize common app structures like pagination records.

Matching moments

7:21 min

Integrating the NgRx architecture for global state management

Indu Chaube · LIVE

2:49 min

Introduction to the speakers and the TypeScript problem

Michael Hladky +1 · LIVE

3:24 min

Introduction to building reusable Angular components

Valentine Awe · World Congress 2022

9:46 min

Questions on architecture typing and team organization

Trishul Goel · JS Congress

2:11 min

Comparing JavaScript variables to TypeScript type annotations

Peter Kröner Peter Kröner · World Congress 2022

1:23 min

Refactoring and porting legacy code to new languages

Markus Walker Markus Walker · World Congress 2023

Upcoming sessions on this topic

Open session

React Under Fire: Rendering Performance for Streaming Agent UIs

  • Abhirupa Mitra

    Slack

    Senior Member of Technical Staff

Open session

From Prompt Engineering to Harness Engineering: Building Observable and Governed GenAI Systems

  • Lakshmi Devi Prakash

    JPMorgan Chase

    VP, Applied AI/ML Lead

Open session

From Profiler to Production: Measuring What Actually Matters in React & React Native

  • Andrei Tazetdinov

    Dynatrace

    React Native Developer

Open session

Teaching AI Coding Agents to Build It Right the First Time

  • Sajeetharan Sinnathurai

    Microsoft

    Principal Product Manager

Open session

Designing for Every Direction: Logical CSS for Global, Adaptive, and Effortlessly Reversible UIs

  • Vidhya Krishnamoorthy

    Morgan Stanley

    VP, Software Engineering Manager

Open session

How We Cut Our API's p99 Latency from Minutes to Under a Second

  • Deepak Agrawal

    Atlassian

    Principal Software Engineer