Был некоторый опыт разработки на Яве, но не веб-приложений. Благодаря этому фреймворку может соберусь реализовать какой-нибудь проект на яве (сейчас в основном на (php + Zend Framework).
Мне тут очень понравилось, как сделан вывод отладочной информации, из php-фреймворков, с которыми я работал, я такое на Кохане разве что видел.
При правильном применении Log4J выдает значительно больше полезной информации, чем логгер Ko3. Я пишу на Java, и на Ko3, так что могу сравнивать. И, кстати, да. Ваши симпатии к Ko3 мне понятны.
Сильно слабее, для Grails — большое community + тонны плагинов + поддержка SpringSource (VMWare).
Но частично из-за этого и лучше, Grails уже перестал быть легким фреймворком. Более менее серьезные приложения с несколькими плагинами уже превращаются в монстров по зависимостям и размеру кучи библиотек которые с собой тянут.
Давно использую PlayFramework, до этого использовал GRails. PlayFramework в разы быстрее GRails. Тут даже думать не стоит. GRails это Groovy, a PlayFramework это Java и теперь уже Scala!
Написал коммент после прослушивания скринкаста. Зашел на сайт — увидел французские фамилии, много думал. Вообще почему то думал, что у французов немного другой акцент.
Навскидку:
1. Работает с Java и Scala (т.е. статически типизованые языки)
2. Жрёт при работе заметно меньше памяти, чем Grails.
3. Лучше сделан hot deploy. Очень удобно при отладке.
В добавок к отписавшимся выше, скорость старта.
Это критично, например, в GAE.
Grails ловит HardTimeLimitException при старте даже на пустом, свежесозданном, проекте.
Play и Lift стартуют без нареканий.
Очередной велосипед, да еще и клон очередных RoR… Вы видимо не в курсе про Tapestry 5 и Maven? Там всё гораздо проще и качественнее. Например, чтобы стартануть новый проект пишите так:
mvn archetype:generate — дальше выбираете 130 пункт, вводите название приложения и пространство имён проекта
mvn jetty:run — всё работает (localhost:8080)
Есть поддержка:
— бинов
— CRUD
— Hibernate Annotation (в том числе валидация на формах автоматом)
— Удобные шаблоны
— Не нужно перезагружать сервер — всё подхватывается автоматом (изменения в коде)
— Простота создания новых компонент
Имхо, Stripes вполне себе легкая штука. Только вот я, в силу ряда причин, не жалую JSP. Если без JSP, то уже сложнее. Wicket и Tapestry не всегда достаточно гибкие. Это можно сказать о любом компонентно-ориентированном фреймворке. Хочется аналога Kohana3+Twig. Но я такого пока не нашел.
К слову, зачем мир мигрировал на другие языки вместо допиливания перла до нормальных фреймворков, я так и не понимаю.
По большому счету PHP/Python/Ruby ничего революционно нового, невозможного в Perl в рамках web не предлагают. Вопрос имиджа.
Ну идея в виде RubyMine для ruby и Idea для java имеет совершенно разные возможности. В большинстве случаем для статически типизорованных языков возможности намного выше.
Просто в очередной раз когда ты видешь почти идеальное автодополнение в ide в той же яве вообще не хочется возвращаться к ruby/python которые могут предложить лишь «чуть лучше текстового редактора».
Эммм. Когда я вспоминаю о разработке на Яве — мне очень лениво становится вчитываться в этот энтерпрайзовский стиль написания. По мне лучше коротко и практически без интеллисайса в питоне. Возможно особенность работы такая, что с явой в основном по энтерпарайзу знаком.
Проблема в том, что разрабатывать в Java без этих мега-редакторов практически невозможно, а для руби текстового редактора на самом деле вполне хватает.
Я бы ещё добавил, что фреймворк довольно универсальный и позволяет подключать разные движки для темплейтинга. Лично для меня в нём ценнее всего поддержка статической типизации (использую со Scala) и лёгкость. Очень похожий Grails — замечательный фреймворк, но для простых проектов чересчур тяжёлый.
Можно посмотреть код: довольно простой и занятный. Я вот увидел: свой DI, магия моделей с помощью javaassist(в IDE не заработает), не на сервлетах — Http.java интересно почитать.
Итого: если бы я писал фреймворк — возможно я бы написал его именно таким :) Никаких тебе ClasspathXmlApplicationContextFactoryProxyManagerWtf. Мне понравилось — буду пробовать.
Если сделать плагин — заработает. Фишка в самобытности — этим он и отличается от кенгуру или грейлс. Весь его код можно осилить за день) Да, там очень много где изобретение велосипеда, автору это нравится, многим пользователям — тоже.
Только как вспомогательные утилиты для сборки проекта.
Авторы Play достаточно разумные люди, которые используют наиболее подходящие инструменты для каждой задачи.
Если питон хорош для написания скриптов, то ничего в этом плохого нет.
Авторы на сайте в FAQ объяснили зачем python нужен. В основном, как я понял, для ускорения выполнения простых обслуживающих задач типа создания нового приложения, запуска веб-сервера и т.п. Запуск JVM очевидно медленнее, чем запуск интерпретатора питона.
Как я уже упомянул, API ещё нестабильное.
Это значит, что в любой момент рабочий код может стать нерабочим.
У меня так происходило уже несколько раз.
Последний случай, например, в контроллерах убрали метод Render и вместо него воткнули Template.
Как раз недавно интересовался этим фреймворком, очень напоминает Grails. API выглядит довольно приятно. Только интересно, чем не угодило разработчикам Servlet API.
Отличный Java MVC фреймворк — Play Framework