А что в данном случае понимается под компиляцией «на лету» — разве IDE не делают тоже самое?
P.S. Не вижу пока, зачем он нужен, т.к. IDE используются отнюдь не только для подсветки ошибок, но и для убыстрения написания программ за счёт автоподстановки, автонаследования, рефакторинга и других приятных плюшек.
Там основная задумка в том что фреймворк во многом стейтлес — сайд эффекты не должны особо лезть, а в некоторых случаях он полностью рестартует приложение.
Кстати, по ощущениям, действительно в 99 случаях из 100 достаточно логов в приложении и трейсов исключений. Я вообще, с тех пор как стал в любом, мало-мальском приложении подключать логгирование — про дебаггер практически забыл.
Логи это конечно хорошо, если там есть предупреждение или можно по логам сориентироваться в контексте. Но все значения переменных, условия и циклы в логах не вывести.
Я знаком с этим фрэйм ворком. Пытался написать на нем файлопомойку с мультиаплоадом, могу сказать лишь одно, в плане работы с файлами он кривоват, или был кривоват. Дебаг и вывод ошибки — это не одно и тоже, и стэк трейса часто не хватает для того, чтобы полноценно разобраться в ситуации.
Достаточно часто, я согласен с вами, что за частую стэк трейса или логов хватает, но при наличии сложной логики, когда просто вместо А приходит Б, и нужно разобраться в чем проблема, отладчик незаменим, собственно, когда переходил на java с php отладчик выглядел достойным плюсом.
Да и кстати зная этот пресловутый hotswap в eclipse у меня к нет особого доверия.
а чем play! принципиально отличается от grails? (кроме различий в java и groovy, но ведь груви не является недостатком, не так ли?). мне кажется grails куда более развит и удобен.
Play! основан не на сервлетах, а на Netty + поддерживает ансинхронное программирование — удобно работать с Websockets; так же набирает популярность как фреймворк с поддержкой Scala.
Работал с обоими фреймворками. Сильный плюс Grails в том, что он основан на пачке проверенных технологий. Плюс мне больше нравится GSP-язык для views.
Play! очень не понравился тем, что методы контроллеров пишутся статическими. И это в то время, когда IoC бороздит просторы Вселенной! Для любого правоверного джависта это как пенопластом по стеклу. А вот статическая типизация — это для меня плюс, особенно в Scala-варианте. К сожалению на тот момент когда я изучал Play! он ещё был сыроват и часто поглючивал, так что я с ним распрощался. И да, он заметно легче.
А вот мне автокомпиляция мешает. Я часто сохраняю еще не дописанные файлы и пытаюсь посмотреть как работает то что было, а вместо этого получаю ошибку компиляции.
Лично я бы предпочел явно запускать play compile.
Использование Play! framework в Gedit