Type-safe Web with Kotlin
Лекция- Software Engineering
В HTML и CSS нет средств повторного использования, не говоря о типизации и т.д. Существует множество различных приспособлений для борьбы с этой проблемой: Templating-движки для HTML, разные препроцессоры для CSS вроде LESS или SAS и т.д. Такие инструменты прекрасны по сравнению с «сырым» HTML/CSS, но в действительности весьма примитивны. Kotlin - язык программирования общего назначения, в который не встроено никакой поддержки веб-программирования. Однако набор абстракций, предоставляемых в Kotlin, даёт возможность вывести эту область на совершенно другой уровень, где весь HTML/CSS статически типизирован, подлежит повторному использованию и вообще дисциплине программной инженерии.
Одной из первых попыток реализовать этот подход является фреймворк Kara, одновременно ставший одним из первых продуктов, написанных на Kotlin за пределами JetBrains (и России). Kara предоставляет типизированные билдеры (type-safe builders) для HTML/CSS, а также типизированный роутинг (отображение URL на конкретные сервлеты, генерация ссылок и пр.). В докладе будут изложены как основные принципы реализации подобных фреймворков, так и наши планы на светлое будущее, включающие бесшовное встраивание JavaScript'а, выполняемого на клиенте в шаблоны страниц и др.