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

3:24 min

Introduction to building reusable Angular components

Valentine Awe · WWC 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 · WWC 2022

1:23 min

Refactoring and porting legacy code to new languages

Markus Walker Markus Walker · WWC 2023

2:28 min

Exploring the benefits of type safety and TypeScript migration

Chris Heilmann +2 · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Beyond Vibe Coding: An AI Builder’s Guide to Migrating 10k+ React Components

Shubham Chaurasia

Senior Software Engineer @ Meta

Shubham Chaurasia
Open session

World Congress 2026 North America

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Bartosz Leczycki, Paweł Matynia

Bartosz Leczycki
Paweł Matynia
Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

Designing APIs That Survive AI Agents at Scale

Phani Pendurthi

Mastercard, Principal Software Engineer

Phani Pendurthi
Open session

World Congress 2026 North America

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare