2009-11-10 2 views
30

Я работал с Django до и имел недавно seenPlay framework.Playframework and Django

Это ответ сообщества Java на Django? Любой опыт с ним? Любые сопоставления производительности с другими веб-фреймами Java?

Редактировать: Почти аналогично to this question, ответы, к сожалению, мало что говорят о структуре.

ответ

36

Play! представляет собой глоток свежего воздуха в Яву и обходит весь корпоративный рывок, который развивался на протяжении многих лет. Даже пространство имен просто воспроизводится не com.playframework. Он должен быть ответом на Rails, Django и т. Д. И основан на MVC. Это необходимо для того, чтобы Java оставалась актуальной во всех, кроме глубоко укоренившихся корпоративных магазинах.

Play! уменьшает чрезмерную и болезненную конфигурацию старой Java. Это полный стек, на который он не полагается или не играет на старой методологии Servlet/EJB, как пытался использовать Restlet (сделать REST проще в сервлетах). Играть! является отличной базой Java на основе REST, которая является действующим претендентом на другие платформы MVC.

Это очень RESTful, и его легко привязать к java-методу. Они также упростили использование JPA через пространство воспроизведения.

play.db.jpa.Model

public void messages(int page) { 
    User connectedUser = User.find("byEmail", connected()); 
    List<Message> messages = Message.find(
     "user = ? and read = false order by date desc", 
     connectedUser 
    ).from(page * 10).fetch(10); 
    render(connectedUser, messages); 
} 

Python используется для написания сценариев, а не строит с Maven, который может спасти несколько жизней.

Я не был так рад Java-инфраструктуре с Red5 или Restlet. Бонус заключается в том, что у них есть простые способы получить ваше приложение в Google AppEngine, а также с помощью Java-версии GAE.

6

The Play! framework - это действительно хорошая часть программного обеспечения и что надуваемая среда JavaEE должна быть вдохновлена.

Я переехал с Java -> Django из-за быстрого цикла «изменить файл»/«перезагрузить браузер» и Play! framework заставляет меня вернуться к моему любимому языку Java.

В некоторых терминах также можно сравнить то, что Grails и вообще динамические языки в Java (Groovy используется в Play!) Пытаются импортировать: простоту, скорость и надежность.

+0

Я думал, что модульные тесты уменьшают потребность в кодах, строят, развертывают, тестируют циклы в JavaEE, к тому моменту, когда вы попадаете в браузер, вы уверены, что он работает. – n002213f

+2

да, но модульные тесты полезны для проверки бизнес-логики, ничего другого (тестирование веб-интерфейса всегда является болью). Таким образом, нет выбора, если вы хотите быть эффективным в разработке веб-интерфейса, единственный способ - слишком увеличить скорость циклов сборки/развертывания. – Lastnico

5

Я также являюсь пользователем Django. Я только что посетил платформу Play и просмотрел ее документацию. Он имеет упрощенную конструкцию, о которой Джанго был известен. У него даже встроенная поддержка движка приложения. Я уверен, что многие разработчики java поддержат его, и ему потребуется некоторое время, чтобы увидеть крутые плагины сообщества.

8

Я использую Play! теперь в течение нескольких месяцев и на самом деле полюбили рамки. Я боролся с Rails и Django, в основном потому, что я действительно не поклонник динамически типизированных языков; Тем не менее, никогда не было действительно хорошей структуры веб-разработки для Java, чтобы конкурировать с ними. С точки зрения производительности, Rails и Django были лидерами гонки вооружений MVC, которая продолжалась. Играть! является удивительным, он кратким, масштабируемым, мощным, и в нем есть отличное сообщество, которое постоянно растет. Если вы все еще используете язык, похожий на Python или Ruby, вы можете использовать Play! с Скалой тоже. Я действительно пытаюсь попасть в Scala прямо сейчас, потому что я думаю, что у него отличное будущее, и это очень интересно использовать. Во всяком случае, я бы рекомендовал попробовать!

+0

так хорошо играет с рельсами/джанго в гонке вооружений MVC? – rogerdpack

0

Недавно мы начали использовать Play для создания веб-сервиса для различных мобильных приложений.Я исхожу из среды Java. Я могу сказать вам, что кривая обучения не так крута - буквально через час у меня уже работает веб-сервис с базовым API. Через неделю мы были на Amazon Web Services. Я определенно вижу будущее для Play, так как это упрощает веб-разработку для разработчиков Java.

Еще несколько вещей, которые я заметил (управление версиями активов и т. Д.), Все еще не встроены в структуру, но я уверен, что они будут там вовремя. Я бы сказал, что это определенно стоит сыграть с Play.

0

Я родом из очень сильного фона java. Поэтому мой ответ здесь может быть немного предвзятым.

Play, наконец, приносит сообществу java то, что django было за все эти годы в сообществе python, но только лучше. Игра построена на jvm, поэтому наследует все преимущества от твердой платформы, которая на протяжении многих лет доказывает, что она является самой надежной и масштабируемой, что позволяет писать и запускать приложения в масштабе.

Я хочу сказать, что я попробовал django. Его популярность среди веб-сообщества сделала меня любопытством, и я хотел попробовать.

Странно, что я не нашел его таким простым в использовании, каким ожидал. Так много конфигураций. Слишком могут библиотеки делать то же самое и часто не очень хорошо друг с другом. Путь слишком много волшебства. Кроме того, отсутствие безопасности типов очень затрудняет управление и обслуживание веб-приложения в большом масштабе. Не поймите меня неправильно, я уверен, что людям это удалось, но по моему опыту я все еще нахожу java/scala, наиболее подходящий для этого, особенно когда вы делитесь базой кода с множеством других разработчиков.

Поддержка IDE для Java является непревзойденной. Если вы внедряете TDD, вы будете ежедневно обновлять код рефакторинга и перемещать вещи. И Java-IDE дают вам всю эту силу. С типом безопасности и многое другое.

Мой отрыв в том, что до тех пор, пока вы обнаружите, что пишете простое приложение CRIT/прототип/игрушку, даже не думая слишком много о расширенных функциях и большом масштабе, вы, вероятно, можете найти некоторые преимущества при использовании python/django. В противном случае вся экосистема java побеждает. И играть - это вишня сверху.