Архив метки: playframework

Анатомия Play Framework

Продолжая «оперировать» Play Framework в процессе реализации своего первого веб-приложения наткнулся на очень интересный материал «Play, Anatomy of a web framework» (серия статей).

Автор рассказывает про внутренности фреймворка. От запуска приложения, через обработку реквеста и респонса, до сущности changes hot reload (Hot redeploy, моментальной перезагрузки ваших изменений в коде в дев окружении без необходимости что-то пересобирать/перезапускать).

Если первая часть, упомянутая по ссылке выше, рассказывает про последовательность действий, которая происходит при запуске веб-сервера, то во второй части мы уже видим, какой ценой разработчики фреймворка добились того, что мы меняем java-файл, нажимаем в браузере F5 и тут же видим наши изменения. Основная идея: Play очень легкий компонент, который легко перезагрузить, Play — stateless компонент (не хранит состояний между запросами), т.е. можно легко уничтожить объекты/классы и создать их заново в процессе рестарта, ибо ничего не теряется.

Третья статья раскрывает секреты роутинга. Все, что мы пишем в файлу routes, трансформируется в обычный scala код, поэтому так прекрасно работает type safe в IDE и вообще все просто.

Let’s Play

Захотелось изменить жизнь если не к лучшему, то к чему-то новому и взор мой пал на мир Java и что там нынче есть для удобного создания веб-приложений. После прочтения статей типа «Стоит ли использовать Spring Boot в вашем следующем проекте?» обратился к фреймворку Play Framework — The High Velocity Web Framework For Java and Scala.

Прямо на титульной странице сайта проекта можно увидеть видео, показывающее за 20 минут основы разработки для Java и Scala разработчиков (отдельно). Если честно, видео вдохновляющее, но довольно короткое. Тут мне стало интересно, кто на практике использует эту наработку, и наткнулся я на материал от разработчиков linkedin.com. В этом видео рассказываются не только основы и фишки разработки. В самом начале, например, довольно четко выделено, чем же так хорош Play для разработчиков (не надо ковыряться в консоли, парсить огромные логи, ждать деплоя приложения после каждого изменения и т.п.). Где-то на 15-й минуте начинается обсуждение о том, что Play — это event-based фреймворк (в отличие от большинства других, основанных на тредах). И т.п.

В общем, советую посмотреть это видео для получения первой картины о Play и его возможностях.

Для дальнейшего ознакомления с темой можно почитать пару статей:
Developing Scalable Web Applications with Play
Integrating Play for Java and Akka (тут много про асинхронную природу фреймворка)

Да и можно посмотреть еще одно видео от автора первого. «Node.js v.s. Play Framework» by Yevgeny(Jim) Brikman at ScalaMatsuri 2014

Еще есть страничка под названием The Ultimate Guide to Getting Started with the Play Framework со ссылками на материалы по различным аспектам разработки.