Статьи

Платформы для веб-разработки на Java: Play 2.0 и Spring MVC

Недавно, исследуя альтернативные среды 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, он также поддерживает  ScalaLift  — еще один популярный фреймворк, поддерживающий  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 построен поверх  SBTSBT  имеет  плагины для 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, но это официально не поддерживается .