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 · 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

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

September 25, 2026 · 11:00–11:30

Stage 7

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

Shubham Chaurasia

Senior Software Engineer at Meta

Shubham Chaurasia
Open session

World Congress 2026 North America

September 24, 2026 · 14:10–14:40

Stage 9

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

September 24, 2026 · 16:50–17:20

Stage 1

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

September 24, 2026 · 14:50–15:20

Stage 9

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

September 25, 2026 · 12:20–12:50

Stage 9

Designing APIs That Survive AI Agents at Scale

Phani Pendurthi

Mastercard, Principal Software Engineer

Phani Pendurthi
Open session

World Congress 2026 North America

September 25, 2026 · 15:30–15:40

Outdoor Stage

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare