Я переключился с Grails на Play и никогда не оглядывался назад. Моя самая большая проблема с Grails - это общая надежность и удобство использования для разработчиков. Большую часть времени меня укусил тот факт, что Grails склеивает обычный стек Spring MVC и Hibernate, пытаясь скрыть этот факт и предоставляя вам подобный Rails API (мое личное мнение). Проблема в том, что когда что-то выходит за рамки тривиальных образцов, оно легко ломается и не работает для меня. Развиваться с этим было все равно что ходить по яйцам (для меня). Всякий раз, когда я гуглил документацию по нужной мне функции, меня перенаправляли не на образцы, учебные пособия, блоги, а на Grails JIRA, объясняющую, почему эта функция не работает для моего варианта использования, и что ошибка была устранена, поскольку две версии до одной Я использовал.
Хотя это может не быть общим опытом для каждого разработчика (я не пишу это для bash Grails, но для того, чтобы поделиться своим опытом с этим здесь), мне нужно что-то, что помогло бы мне и не встало бы у меня на пути или сломалось на меня, когда мне это было нужно больше всего. Вот когда я нашел Play, и я быстро перенес свое приложение в него после того, как узнал об этом (примерно в версии 1.0).
Пока это была отличная поездка, и впервые в моей карьере веб-разработчика я перестал смотреть на другие фреймворки, пытаясь найти что-то, что мне бы хотелось больше.
Если бы мне пришлось закончить с одной вещью, что Play лучше, чем Grails - по крайней мере, для меня - это был бы тот факт, что Play создан с нуля с учетом удобства использования для разработчиков. Это не жертвует простотой использования для модных словечек предприятия. У него хватит смелости выбросить то, что не вписывается в эту парадигму (например, отказ от времени выполнения на основе сервлетов во время разработки для более быстрого выполнения). Он готов идти на компромиссы, чтобы гарантировать удивительность. И это то, что я видел только в таких сообществах, как Rails или Django, до того, как нашел Play.