JavaScript Congress • Nov 23, 2021

All you need is types

Tal Joffe

Are rigid enterprise patterns bloating your TypeScript? Ditch heavy classes for functional data interfaces to eliminate boilerplate and scale your codebase with complete confidence.

Pause
Mute Enter Fullscreen
#1 about 4 min

Adopting a JavaScript-centric approach to TypeScript

Applying a functional programming style in TypeScript prevents the unnecessary complexities of strict object-oriented approaches.

#2 about 3 min

Three essential pillars of scalable codebases

Code readability, clear project structure, and automated logic enforcement construct the foundation for maintaining large applications.

#3 about 2 min

Enhancing code readability with explicit function types

Explicitly declaring parameters and return types prevents unnecessary context switching while reading unfamiliar code blocks.

#4 about 4 min

Separating data and logic to simplify architecture

Breaking traditional object-oriented classes into separated data structures and logic functions significantly reduces boilerplate code.

#5 about 3 min

Organizing project structure by module and concern

Grouping related data objects together while isolating logic modules makes navigating future feature changes more intuitive.

#6 about 2 min

Enforcing data integrity with basic utility types

Applying built-in features like readonly and required modifiers natively protects programmatic constraints against unauthorized mutations.

#7 about 5 min

Enforcing logic with conventions and structural patterns

Using the command query separation pattern guarantees predictable application behavior across complex module routing implementations.

#8 about 4 min

Reducing typing overhead through inference and simplicity

Relying heavily on type inference and minimizing overarching design patterns keeps the codebase extremely lightweight.

#9 about 5 min

Avoiding repetition with advanced type generation strategies

Features like unions, intersections, and keyof generate complex dynamic structures without requiring manual duplicate typing.

#10 about 7 min

Validating changes with integration testing and static checks

Strict type enforcement guarantees accurate mock configurations and isolates integration logic bugs during early build stages.

#11 about 2 min

Summarizing the core concepts of scalable typing

Maximizing native language utilities minimizes the maintenance friction associated with utilizing a strictly typed software architecture.

#12 about 13 min

Exploring audience questions on naming conventions and errors

Audience inquiries cover variable naming best practices, functional error mitigation tracks, and React component migration strategies.

Matching moments

2:00 min

The origins and early problems solved by TypeScript

Dani Coll Dani Coll · World Congress 2026 Europe

1:20 min

Core takeaways for end-to-end TypeScript development

Marco Podien Marco Podien · World Congress 2025

2:57 min

Introduction to scaling software systems with TypeScript

Tal Joffe · World Congress 2022

4:18 min

Core design principles and features of TypeScript

Lars Hupel · World Congress 2022

2:28 min

Exploring the benefits of type safety and TypeScript migration

Chris Heilmann Chris Heilmann +2 · LIVE

2:52 min

The popularity and benefits of TypeScript

Marco Podien Marco Podien · World Congress 2025