SECON'2020
XII международная конференция разработчиков программного обеспечения
доклад
×

Вопрос спикеру

Сообщение
×

Опишите тему встречи


  • Frontend
о докладчике
Башуров Майк WiseBits, Лимассол

Фулстек на JS/.NET, фанат TypeScript и ReasonML. Пытаюсь в теорию типов и компиляторов, отбираю доклады в ПК HolyJS

Меняем реальность через type-directed emit

Если вы используете статически типизирированный JS (Flow/Typescript), вы можете подумать что рантайм валидация больше не нужна. Но конечно же это не так. Вам все еще необходимо проверять данные который вы не контролируете (I/O), самый банальный пример: JSON с бекенда. Можно писать валидаторы отдельно, но они будут постоянно расходиться с типами. Можно использовать решение типа fp-ts, но его тяжело интегрировать с существующую кодовоую базу. Swagger и GraphQL тоже отличные решения, но требует много работы на бекенде. Но ведь в C# или Java можно просто написать JsonConvert.DeserializeObject(jsonString) и за вас все провалидируют. Однако, в отличие от классов в C#, типы TypeSсript не существуют в рантайме. И что же делать? Можно использовать TypeScript Compiler API чтобы через custom transformer (или babel-plugin) и поместить код в рантайм на этапе компиляции. Вот об этом я и хочу рассказать.

Аудитория слушателей доклада

На пользователей Typescript и Flow или интересующихся