LINUX.ORG.RU

Выход Play framework 2.1

 , , ,


0

1

Вышла новая версия легковесного mvc web-фреймворка Play, позволяющего создавать веб-приложения на языках Java и Scala.

Основные изменения

  • Scala 2.10: Весь проект не только переведен на Scala версии 2.10, но и была удалена зависимость между версией Scala, используемой в системе сборки(sbt), и версией, используемой в рантайме.
  • scala.concurrent.Future: Реализована поддержка библиотеки scala.conncurent.Future: управление асинхронным кодом стало проще, а также появилась возможность напрямую использовать библиотеки, реализующие тот же API.
  • Модульность: Сам фреймворк разделен на модули(jdbc, anorm, javaCore, javaJdbc, javaEbean, javaJpa, filters). Базовый модуль фреймворка стал еще легче.
  • Модульность проектов: Улучшена поддержка подпроектов: теперь подпроектам доступны собственные компоненты управления путями, а из их композиции и складываются пути всего проекта.
  • Улучшение многопоточности Java API: Теперь при асинхронных вызовах не теряется Http контекст, а также управление синхронизацией перенесено на уровень фреймворка.
  • Управление созданием контроллеров: Добавлена возможность создавать контроллеры вручную посредством перегрузки метода getControllerInstance. Теперь доступно применение dependency injection в вашем приложении.
  • Новый Scala JSON API: Теперь с валидацией и преобразованиями.
  • Filter API: Новый Filter API позволяет работать с любой частью запросов или ответов, а также предоставляет защиту от кроссайтовых атак(CSRF)
  • requireJS: Добавлена поддержка requireJS - динамического загрузчика js модулей.

Всего к данному релизу команда разработчиков произвела 182 исправления и улучшения.

>>> Подробности

★★★★★

Проверено: maxcom ()

Мне GWT+GXT вполне достаточно.

«Pluralitas non est ponenda sine necessitate.» (c)

Bioreactor ★★★★★ ()

Play не нужен

И зачем оно нужно вообще, когда есть maven+Spring Framework + старый добрый ламповый EJB - который уже в редакции 3.2.

Такие вот высеры типа Play делают те же ребята, походу, что и IE6 делал-насравши на все стандарты.

anonymous ()

легковесного

Java и Scala.

лол

anonymous ()
Ответ на: Play не нужен от anonymous

maven+Spring Framework + старый добрый ламповый EJB

Spring вместе с ejb? Вы, батенька, извращенец.

Вот потому что отказались от жирного лоснящегося ынтырпрайза и получился быстрый и удобный фреймворк.

А нужно это тем кто не хочет писать тонны xml и рвать волосы на жопе чтобы запустить очередной проект. И редеплой чтобы за секунду был, а не минуту на сборку проекта, потом еще пару минут ждать пока апп сервер подымется с энтити фрэймворком.

Ну и тем кто хочет писать на скале, не лифтом единым же.

tulskiy ()
Ответ на: комментарий от tulskiy

Однако никакого redeploy «за секунду» нет, по крайней мере на scala версии - пересборка занимает заметное время

maxcom ★★★★★ ()
Ответ на: комментарий от maxcom

По крайней мере редеплой занимает одно движение - обновить страницу. Я, например, в цепочке, собрать модуль, собрать еарку (потому что все собирать слишком долго), и потом ждать деплоя часто между тасками отвлекаюсь и вместо пары минут это все занимает все 5 и 10.

tulskiy ()
Ответ на: комментарий от Bioreactor

Мне GWT+GXT вполне достаточно.

Мне достаточно и просто GWT (GXT бодро идет в биореактор)

PS
Кто-то верит, что scala займет приличную нишу?

Yilativs ★★★ ()
Ответ на: комментарий от Yilativs

Кто-то верит, что scala займет приличную нишу?

верю и надеюсь. очень удобный и интересный язык.

tulskiy ()

По поводу java-фреймворков, тут еще недавно vaadin 7.0 вышел, никак не доберусь посмотреть, что там изменилось.

orm-i-auga ★★★★★ ()

особенно радует применение Futures, как мне кажется это самое важное ввдедение.

anonymous ()
Ответ на: комментарий от Yilativs

Кто-то верит, что scala займет приличную нишу?

Уже какбэ.

shahid ★★★★★ ()
Ответ на: комментарий от tulskiy

Попробуй JRebel. Редеплой моментальный почти всегда.

Legioner ★★★★★ ()
Ответ на: комментарий от maxcom

Add application/javascript to text types

а зачем, если оно в defaultTypes есть?

RedPossum ★★★★★ ()
Ответ на: комментарий от RedPossum

а зачем, если оно в defaultTypes есть?

defaultTypes это про другое. Надо чтобы оно считало что js это текстовый формат, иначе оно не добавит charset в content-type

maxcom ★★★★★ ()

Они о IoC слышали вообще? Надо его переименовать в «public static 2.1» Надеюсь плагины zipами не качают уже? Что не гляну, страшно угребищный фреймворк

Расскажи как там у тебя на работе Boui

vertexua ★★★☆☆ ()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Это же ты пилил свой фреймворк с тортом? Как продвигается, попробовать уже можно?

RedPossum ★★★★★ ()
Ответ на: комментарий от Bioreactor

Мне GWT+GXT вполне достаточно.

У меня большое желание за одно упомниание разработчиком про gwt - сразу отрывать ему шаловливые ручки. По самую задницу.

Nagwal ★★★★ ()
Ответ на: комментарий от RedPossum

Пилил и пилю, там много чего не готово. Но в целом процесс нравится, пришлось решить уйму вопросов. Всем советую писать свои фреймворки

vertexua ★★★☆☆ ()
Ответ на: комментарий от Nagwal

А почему так? Давно тебе последний раз приходилось разгребать JavaScript код, написанный имбецилами, которым, ввиду их имбецильности, кроме клиентской части ничего не доверяют? А в Vaadin/GWT много проще поддерживать единые правила для всего кода (конвеншены, утилиты общие и т.п.), что помогает бить имбецилов по рукам вовремя.

А к сабжу уже прикрутили нормальную поддержку мавена? Если нет, то в топку, это такие недоделанные рельсы на скале получаются. Веб в java без мавена и спецификации сервлетов - это несерьезно.

anonymous ()

Весь проект не только переведен на Scala версии 2.10

На самом деле, Play! в этом смысле какой-то стремный. Со стороны это смотрится так: Сначала он был на Java и можно было писать на Java, затем каким-то образом туда затесался Python, потом питон выпилили и впилили Scala, теперь вот переписали сам фреймворк на Scala. Я так предполагаю, что в следующей итерации они выпилят жабу и впилят какой-нибудь ruby. А затем, выпилят и скалу и зафигачат Haskell. Возможно, я в чем-то ошибаюсь (типа, питона), но смотрится это именно так. Короче говоря, жесть.

И да, я повторюсь: нужен ли Play!, когда есть Apache Tapestry, с его клевым живым редеплоем?

X-Pilot ★★★★★ ()
Последнее исправление: X-Pilot (всего исправлений: 2)
Ответ на: комментарий от anonymous

А к сабжу уже прикрутили нормальную поддержку мавена?

Там sbt внутри

maxcom ★★★★★ ()
Ответ на: комментарий от orm-i-auga

Теперь Page вместо Application, а его роль выполняют UI, которых на одной странице может быть несколько. Ну и раскидали часть функционала по прочим другим классам, выглядит логичнее имхо. Особых неудобств при переходе на 7.0 не почувствовал.

sptim ()

Новый Scala JSON API: Теперь банановый!

Fixed.

reserved ()
Ответ на: комментарий от sptim

Мигрировал с 6-го на работающем проекте? Оно того стоит?

orm-i-auga ★★★★★ ()
Ответ на: комментарий от maxcom

С SBT в скале плавали, знаем, больше его не хотим. Слишком много всего на мавене и некоторые вещи в инфраструктуре на стандартное размещение файлов завязаны.

anonymous ()

Ты смотри чо творят! Такими темпами из гомна в конфету превратится.

anonymous ()

Мужики, может кто объяснить, каким боком во фреймворке поддерживается MVC? Разве это не моя задача - написать нужные модели/вьюхи? Какое дело _фрэймворку_ до того, как у меня организована работа с данными?

matumba ★★★★★ ()
Ответ на: комментарий от anonymous

А почему так? Давно тебе последний раз приходилось разгребать JavaScript код, написанный имбецилами, которым, ввиду их имбецильности, кроме клиентской части ничего не доверяют? А в Vaadin/GWT много проще поддерживать единые правила для всего кода (конвеншены, утилиты общие и т.п.), что помогает бить имбецилов по рукам вовремя.

Мне приходилось разбирать GWT проект, в котром имбецилы написали под 2.5к классов тоьлко для поддержки гуя. Вот это был лютый п..ц. С jquery на клиенте и простеньким шаблонизатором типа freemarker-а на серваке весь гуй там делался бы в файлах 50-100.

Nagwal ★★★★ ()
Ответ на: комментарий от matumba

Мужики, может кто объяснить, каким боком во фреймворке поддерживается MVC?

Ты можешь как угодно организовывать данные, просто, скажем так, наиболее естественной и удобной для данного фреймворка является организация работы с данными в виде эмвиси.

RedPossum ★★★★★ ()
Ответ на: комментарий от orm-i-auga

Нет, старые пока на шестом - и нет особого смысла/нужды трогать. А вот новый начал уже в седьмом - не из-за каких-то «фич» семерки, а банально из-за того, что в ближайшем будущем разработка шестого будет свёрнута (вроде пробегала инфа, что этим летом, хотя могу и ошибаться). У них на сайте есть Migration guide - вроде бы ничего экстраординарного, хотя вполне могут быть подводные камни, сложность перехода зависит от конкретной реализации проекта.

sptim ()
Ответ на: комментарий от sptim

есть у ваадина грид с группировками + сортировками + погинацией? че то демку поглядел - скучные таблицы

Deady ()
Ответ на: комментарий от Deady

Группировки не видел, сортировки есть, пагинация встроенная, для своего датасорца надо интерфейс ваадиновский заимплементить. Все весьма прозрачно там

anonymous ()
Ответ на: комментарий от Nagwal

Давно и нежно люблю фримаркер, если один пишу и нужно для серверной логики простенькие странички вывесить - то очень удобный. В команде же - ну его нахрен, на фримаркере такого можно наворотить, что по сравнению с его 50-ю шаблонами 1000 классов ГВТ раем покажутся. Ну а JS в руках жабабыдлокодера - это смерть всему живому. Так что в команде либо Wicket либо Vaadin, где все на java и хотя бы компилятор помогает от идиотов обороняться.

anonymous ()
Ответ на: комментарий от anonymous

Так что в команде либо Wicket либо Vaadin, где все на java и хотя бы компилятор помогает от идиотов обороняться.

Нафиг-нафиг, что одно что другое. Лучше уж тогда jsf, благо он начиная со второго довольно адекватен. А вообще вменяемые проекты что я видел были написаны либо на springmvc+freemarker+jquery либо на static html+jquery и rest сервисы на серваке.

Nagwal ★★★★ ()
Ответ на: комментарий от shahid

Кто-то верит, что scala займет приличную нишу?

Уже какбэ.

Какую?!

Yilativs ★★★ ()
Ответ на: комментарий от Deady

Сортировка есть, «испоганить» тоже можно (если ты имел в виду ленивую загрузку данных постранично, то это есть), насчёт группировок - имхо можно допилить.
Вообще, стандартных виджетов (+кастомизация стилями) вполне хватало, а так - погляди в аддонах, там много всякого. Ну а если не хватает чего-то - никто не запрещает запилить свой виджет. В семерке, по словам разработчиков, это делается проще. Сам не пробовал правда.

sptim ()
Ответ на: комментарий от tulskiy

Открой для себя Spring Tool suite

А нужно это тем кто не хочет писать тонны xml и рвать волосы на жопе чтобы запустить очередной проект

Какие тонны XML. Что за ересь? В 21 веке уже есть... о ужас IDE!

И редеплой чтобы за секунду был, а не минуту на сборку проекта, потом еще пару минут ждать пока апп сервер подымется с энтити фрэймворком.

А ещё есть Maven с плагинами деплоя под все EJB сервера. И без из перезагрузки. И всего то за пару секунд. Да вот так! А мужики то в деревне и не знали, до чего дошел прогресс!

Этот Play нахер не впился никому кроме гламурных ребят, которые не осилили EJB. Переучивать почти всех опытных программистов в отрасли ради какого то сомнительного высера - причем вольного виденья все тех процессов которые представлены в EJB спецификации? Да к тому же далеко не лучшей реализации.

anonymous ()
Ответ на: комментарий от tulskiy

Ахаха Play что ты делаешь! Прекрати!

Вот потому что отказались от жирного лоснящегося ынтырпрайза и получился быстрый и удобный фреймворк.

Проект уровня enterpise на Play с Apache Ivy в качестве системы сборки быстро и удобно! Ахаха! Разработчик - работаешь с Play - сиди в гугле ищи депенсы!

anonymous ()
Ответ на: Открой для себя Spring Tool suite от anonymous

о ужас IDE!

костыль.

Переучивать почти всех опытных программистов в отрасли ради какого то сомнительного высера

анон, никто и не говорит о переучивании толпы обмазанных сертификатами людей. Использовать java EE для написания сайтиков можно, но зачем осиливать этот переусложненный ужас, если тебе просто сайтик нужен?

RedPossum ★★★★★ ()
Ответ на: комментарий от tekker

Я про нишу, а не про единичный пример использования.

Хотелось бы понять, для каких-то задач этот язык сейчас предпочтительней чем java?

Пока у меня складывается впечатление, что 10 лет прошло, а результат хуже чем у aspectj (
AspectJ занял плотно хотя бы одну нишу, и надо сказать на большее и не претендовал).

Yilativs ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.