Недавно, исследуя альтернативные среды Java Web Development, я наткнулся на Play 2.0 , я хотел сравнить это с Spring MVC , который обладает мощными возможностями для развития предприятий. Хотя я склонен к Spring MVC , мне все же нравился Play 2.0 в качестве потенциального кандидата. Также обратите внимание, что между Play 2.0 и Play 1.0 есть некоторые существенные различия .
Воспользовавшись имеющимися знаниями
Play 2.0 поддерживает MVC шаблон проектирования, похожий на Spring MVC. Java является основным языком в Play 2.0, он также поддерживает Scala . Lift — еще один популярный фреймворк, поддерживающий Scala . Здесь есть хорошее сравнение Play 2.0 и Lift . Java-разработчики могут быть продуктивными сразу, я запустил веб-приложение за 15 минут.
В Stackoverflow есть хорошая статья, сравнивающая Play 2.0 с другими не Java-фреймворками, такими как Grails и Django, о том, что является за и против использования Play Framework?
SBT: простота сборки
Play 2.0 использует SBT (Простой инструмент сборки) для процесса сборки и Maven для управления репозиторием. Maven и Gradle популярны в мире Java и Spring MVC для управления сборками и хранилищами.
SBT Поддержка непрерывной интеграции
Как упоминалось ранее, Play 2.0 построен поверх SBT . SBT имеет плагины для Hudson для непрерывной интеграции
Нетти на основе Простота развертывания
Play 2.0 построен на вершине и поставляется в комплекте с веб-сервером Netty, который представляет собой асинхронную платформу сетевых приложений, управляемую событиями. Netty похож на Node.js, который популярен среди людей, которые ищут высокопроизводительную разработку веб-приложений. Он также поддерживает протокол Winsocket . Идеально для развертывания, вы можете использовать такие команды, как
play dist play publish
Приведенные выше команды заархивируют все приложение Play 2.0 в zip-файл и опубликуют приложение в репозитории Maven . В производственной среде, основанной на версии, вы можете загрузить, разархивировать и запустить среду Play 2.0. В Stackoverflow, Play Framework Deployment есть несколько хороших статей об этом .
Другой и не очень предпочтительный способ — собрать приложение play в файл war и развернуть его в контейнере сервлетов, например vFabric tc Server . Когда вы сделаете это, вы не сможете использовать весь потенциал платформы Play, как Netty . Команда разработчиков Play будет поддерживать контейнеры сервлетов, такие как vFabric tc Server, в их будущей версии, пока не будет статьи в Stackoverflow, в которой показано, как выполнить развертывание в Tomcat.
Легкость юнит-теста
Есть хорошая статья о том, как сделать тест JUnit в Play 2.0 . Это продемонстрирует тестирование всех слоев Play 2.0, таких как Routes, Controllers и Views. Play 2.0 определенно поощряет тестирование первой разработки . Sonar — хороший инструмент для измерения качества программного обеспечения , также есть некоторая конфигурация для интеграции SBT с Sonar .
Поддержка ORM: Ebean и JPA
Play 2.0 в основном поддерживает EBean и JPA . Есть хаки для поддержки iBatis и других легких ORM, но это официально не поддерживается .