Какие фреймворки использовать для запуска моего первого производственного проекта Scala? - PullRequest
9 голосов
/ 18 июня 2010

Я делаю свой первый набег на scala для производственного приложения.Приложение в настоящее время упаковано как файл войны.Мой план - создать jar-файл из скомпилированных артефактов scala и добавить его в папку lib для файла war.Мое усовершенствование - приложение с поддержкой MySQL, представленное через Джерси, которое будет интегрировано со сторонним сайтом через вызовы HttpClient.Я знаю, как сделать это через обычную Java.Но когда я делаю это в Scala, я принимаю несколько решений:

  1. scala 2.7.7 или 2.8 RC?
  2. JDBC через querulous Готов ли этот API к производству?
  3. sbt vs maven.Мне комфортно с maven.
  4. Есть ли идиоматическая оболочка для scala для HttpClient (или я должен использовать ее так же, как в java)?опыт начала работы с scala.

Ответы [ 2 ]

10 голосов
/ 18 июня 2010
  1. Я бы использовал 2.8.0. В 2.8 слишком много полезных функций. Кроме того, 2.8 приближается к финальной версии. Если вы только начинаете, почему бы не начать с этого? FWIW, я использую 2.8.0 начиная с Beta1, в различных инструментах и ​​библиотеках, которые я использую ежедневно. Хотя были ошибки, их было недостаточно, чтобы заставить меня вернуться к 2.7.7. YMMV, хотя.
  2. Это не облегчит ваше решение, но есть и другие возможности для доступа к базе данных. Например, я использовал SQueryL ; Мне это нравится. ORBroker - это еще один вариант.
  3. Если вам удобно с Maven, тогда используйте его, во что бы то ни стало. Лично я предпочитаю SBT. Я получаю всю мощь реального языка программирования, когда мне нужно реализовать специальную логику сборки. Также полезно, что мне не нужно иметь дело с файлами конфигурации XML. (XML хорош для данных, но это дрянной формат для редактируемого человеком файла конфигурации.)
  4. Вы можете попробовать Databinder Dispatch. См. эту статью для хорошего обзора.
1 голос
/ 18 июня 2010
  1. Если вы только собираетесь начать разработку, Scala 2.8 GA, вероятно, будет доступен к тому времени, когда вы начнете производство.Даже если это не так, я бы выбрал самый свежий пакет 2.8RC, а не придерживался 2.7.7.2.8 имеет не только ряд замечательных функций, но также содержит множество исправлений 2.7.7.
  2. В настоящее время не так много готовых к работе ORM, разработанных для Scala.Я бы, вероятно, выбрал Lift Persistence , потому что команда профессионалов и дружелюбное сообщество стояли за Lift Framework.Но если вы не хотите рисковать, вам следует подумать об использовании старых проверенных Java ORM: Hibernate, JPA, iBatis (недавно переименованный в myBatis) и т. Д.
  3. Вам следует попробовать SBT!Он совместим с Maven POM, поэтому переход на SBT не должен быть для вас слишком болезненным.Преимущества использования SBT:
    • Он разработан для Scala, поэтому вы избавитесь от бремени поддержки бессчетного количества плагинов для Maven, чтобы он работал с Scala последовательно
    • Вы сможетеписать сценарии сборки в Scala (это удивительный опыт по сравнению с XML)
    • SBT обладает потрясающей функцией - непрерывно независимо от (сборка, тестирование, развертывание).SBT отслеживает ваш код, определяет, когда он был изменен, и запускает действие (тестирование, повторное развертывание и т. Д.).
...