Подтвердить что ты не робот

Ваш опыт работы с Scala + калитки

Не могли бы вы поделиться опытом использования Scala и Wicket вместе? Они подходят друг к другу естественным образом? Получаете ли вы преимущества использования Scala (и FP) с помощью Wicket с использованием Java? Почему вы предпочли бы Wicket над лифтом?

4b9b3361

Ответ 1

Для тех, кто заинтересован в поиске кода, я повторно выполнил демонстрацию "Бронирование отеля" в Scala + Wicket здесь: Browse | SVN - версия Java + Wicket находится здесь: Browse | SVN

Я использовал (еще не окончательный) Scala 2.8 и плагин NetBeans. Был смысл блога подробно об этом (там даже реализация Groovy + Wicket на месте), но несколько показов высокого уровня ниже; в качестве примера, здесь тот же код пользовательского интерфейса в Java | Scala. Замечания:

  • безусловно, намного меньше шаблонов и меньше "шума"
  • Scala чувствует себя очень хорошо подходящим для Wicket, когда дело доходит до компонентов вложенности.
  • например. меньше работы/строк кода для определения внутренних классов/конструкторов, поэтому можно сделать это в основном в строке и держать вложенность без лишних помех.
  • и в то же время переопределить каркасные методы как однострочные. хорошо!
  • Scala, казалось, хорошо работал с Wicket Generics, компилятор казался намного более строгим время от времени, может быть, это хорошо. Плагин NetBeans помогает, но по-прежнему работает с ошибками и медленнее.
  • Не очень сложное приложение, поэтому не было возможности применять закрытие и FP много.
  • Есть некоторые ошибки, о которых вам нужно знать: Борьба Scala - Scala с преобразованием списка Java - для время, когда мне удалось использовать коллекции Java для свойств объекта домена.

Пока еще не выполнялись тесты производительности/сравнения. Оставайтесь с нами:) Дайте мне знать, если что-нибудь, что вы хотите знать, когда я собираюсь опубликовать подробную запись в блоге по этому вопросу. О, и если у вас будет возможность просмотреть код и сообщить мне, что можно улучшить, это будет здорово!

Я еще не смотрел "Лифт", но здесь сообщение в блоге, которое может помочь OP: Поднять с перспективы разработчика Wicket

Должна сказать, что я бы выбрал Scala через Groovy на милю, если вы смешались с Wicket. Вопрос "организовать импорт" IDE сам решает вопрос. Новая поддержка внутреннего класса Groovy имеет некоторые ошибки, которые серьезно мешают при использовании Wicket. Также возникли некоторые проблемы, такие как groovy.lang.Reference not Serializable и т.д.

Ответ 2

Я немного использовал Scala + Wicket - это хороший момент, чтобы ввести несколько Scala. Закрытие может помочь уменьшить строки кода в контроллере Wicket с учетом нескольких неявных преобразований или методов полезности. Даже Дейв Поллак однажды предложил эту комбинацию, если вы предпочитаете Wicket Lift или иметь существующее приложение Wicket, которое вы хотите модифицировать Scala с помощью.

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

Ответ 3

Они отлично работают вместе. Не говоря уже о всех бонусах использования Scala в качестве вашего языка.

По пути я достал биты, которые я сделал полезным, и создал проект Scala Wicket Extensions: http://www.mail-archive.com/[email protected]/msg40899.html Не использовали его какое-то время, но он все равно должен быть хорошим. Я был бы очень заинтересован в том, чтобы привлечь больше людей к проекту.

Репо находится здесь: https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/scala-extensions-parent/

Это позорная калитка (и калитка) есть/не находится в Github:/

Ответ 4

Я просто хотел бы указать новые способы, в Scala 2.8, сделать Scala для конверсий java и обратно, поскольку это было указано как проблема в ответе Питера Томаса. Здесь описывается новый материал: Конверсии между сборками Java и Scala

Он должен решить проблему Scala <= > java collections, которую я думаю