Доклад

Типизируем не только код: договоренности между слоями

2 зал
Презентация pdf

В какой-то момент мы начали смотреть на фронтенд не как на набор компонентов, а как на систему слоев и договоренностей между ними. И пришли к идее типизировать не только код, но и границы этих слоев — всё, что влияет на стабильность и масштабируемость приложения.

Покажу практики, которые мы уже применили в проде: типизированную модель роутинга с выводом параметров, безопасный экспорт дизайн-токенов и иконик из Figma, проверяемые CSS Modules и CSS Variables, типизацию i18next, ENV-конфигов и feature toggles, а также API и MobX как центральный слой приложения. Мы посмотрим, что происходит, когда типизированной информации становится слишком много: в какой момент начинают «умирать» компиляция и линтинг и какие инженерные приемы позволяют удержать систему в рабочем состоянии.

Часть этих задач TypeScript поддерживает из коробки, но в ряде случаев нам пришлось писать собственные скрипты, расширять типы библиотек и подключать дополнительные инструменты.

Расскажу не только о том, что прижилось, но и об экспериментах, которые оказались неудачными.

Это не набор абстрактных рекомендаций, а разбор конкретного инженерного подхода к типизации межслойных договоренностей во фронтенд-приложении — когда важна не только строгость, но и производительность всей системы.

Расписание