2011-11-25 10 views
11

Я новичок в Scala и Play, и я планирую использовать их для нового проекта. Я вижу, что разработка Play 2 идет хорошо, хотя стабильная версия все равно 1.x. И между ними есть substantial differences.Сегодняшние варианты для более легкого пути перехода к Play 2

Что мне интересно, если я начну проект Play 1.x, какие варианты я могу использовать, что облегчит переход на Play 2 в будущем?

А именно:

  • Play 2 использует Ebean в качестве ORM по умолчанию, вы бы мне посоветовали использовать его вместо ОРМА Play 1.x (в спящем режиме)?
  • Что касается системы шаблонов; все, что я могу сделать сейчас, чтобы облегчить миграцию позже?
  • Что еще мне нужно будет беспокоиться, когда я решит перенести мое приложение в Play 2 в будущем?

ответ

5

На самой миграции:

  • Там уже планирует перевести на Groovy шаблоны играть 2 (я считаю, это работа в процессе). Вы можете смягчить это, вы начинаете использовать Play 1.x со Scala, так как система шаблонов будет Scala.
  • Изменение с Hibernate на Ebean должно быть легким, если вы не используете расширения для Hibernate.
  • Конфигурация и некоторые задания (например, @OnApplicationStart) могут измениться, но это должно быть довольно легко переносить (просто перемещать их).
  • Будет изменен способ доступа к маршрутам и активам, что может дать вам дополнительную работу по адаптации кода/шаблонов.

В целом это не должно быть слишком сложным, но, как сказал @lacy, это зависит от ваших крайних сроков и самого проекта. Если это критический проект, который должен быть закончен до следующего марта 2012 года, я бы пошел с Play 1.x. Если это менее важный проект, который может быть отложен, и что в любом случае не будет выпущен до марта 2012 года, попробуйте Play 2.0.

+0

Итак, что вы говорите, если я использую версию Scala для Play 1.x, мои шаблоны будут совместимы с Play 2 из коробки? –

+0

И что касается ORM, то же самое касается тех случаев, когда я держусь в стороне от спящих расширений? –

+0

@Filipe Correia, если вы используете Scala, да, шаблоны кажутся совместимыми (это бета-версия, это может измениться, но ничего серьезного). В ORM EBean совместим с JPA AFAIK, поэтому у вас не должно быть проблем. –

0

Это все о сроках вашего проекта. Play2 скоро появится, а некоторые компоненты уже кажутся довольно стабильными. Поэтому, если позволит время, я бы рекомендовал вам использовать Play2. Недавно он изменил статус на бета-версию. Несколько дней назад Гийом создал полезный wiki на Github. Вы также можете обратить внимание на примеры в источниках Play2. И, как я понимаю, не будет никаких правил миграции от Play1X до Play2.

+0

В то время как прыжки прямо в Play 2, конечно, избегают любых проблем с миграцией, все члены команды будут новыми для Scala и PLay, и я предпочитаю избегать любых дополнительных трений. Итак, я уверен, что все еще хочу использовать Play 1.x. для этого проекта, но я хочу свести к минимуму любые усилия по миграции, которые мы будем иметь, когда Play 2 готов к производству.Отсюда мой вопрос, какие варианты/рекомендации/конвенции я должен использовать, чтобы облегчить этот переход? –

1

Я бы даже не стал использовать Play2 в проекте на данный момент. У него все еще не хватает некоторых функций, и даже если развитие будет продолжаться, я буду придерживаться Play 1.2.x. Даже если я должен признать, что заманчиво попробовать 2.0.

Но я бы никогда не выбрал промежуточное решение. Начиная с версии 1.2.x и попытавшись перейти на 2.0.0. Он называется Semantic Versionning. Когда основное число увеличивается, нет обратной совместимости. Значит, вы либо используете play 1.2.x, либо Play 2.0. Попытка мигрировать вызовет у вас больше стресса, проблемы, которые вы хотите.

+1

Ну, я думаю, это зависит от вас? Надеюсь, есть момент, когда преимущества Play 2 перевесят стоимость переноса с 1.x. Моя проблема в том, что я могу сделать сейчас, чтобы убедиться, что стоимость будет как можно ниже, даже если она не является незначительной. –