Какие фреймворки использовать для запуска моего первого производственного проекта Scala?
Вопрос
Я делаю свой первый набег на Scala для производственного приложения.В настоящее время приложение упаковано как военный файл.Мой план состоит в том, чтобы создать jar-файл скомпилированных артефактов Scala и добавить его в папку lib для файла войны.Мое усовершенствование — это приложение на базе MySQL, доступное через Джерси и которое будет интегрировано со сторонним сайтом посредством вызовов HttpClient.Я знаю, как это сделать с помощью простой Java.Но когда я делаю это в Scala, есть несколько моментов принятия решения, над которыми я с трудом сталкиваюсь.
- Скала 2.7.7 или 2.8 RC?
- JDBC через ворчливый Готов ли этот API к производству?
- sbt против maven.Мне комфортно с Maven.
- Есть ли идиоматическая оболочка scala для HttpClient (или мне следует использовать ее так же, как в Java)?
Мне бы хотелось услышать ваши комментарии и опыт начала работы со Scala.
Решение
- Я бы использовал 2.8.0.В версии 2.8 слишком много полезных функций.Кроме того, 2.8 приближается к финальному релизу.Если вы только начинаете, почему бы не начать с этого?Кстати, я использую версию 2.8.0 начиная с бета-версии 1, в различных инструментах и библиотеках, которые использую ежедневно.Хотя и были ошибки, их было недостаточно, чтобы заставить меня вернуться к версии 2.7.7.ЮММВ, однако.
- Это не облегчит ваше решение, но есть и другие возможности доступа к базе данных.я использовал SQueryL, например;Мне это нравится. ОРБрокер это еще один вариант.
- Если вам нравится Maven, обязательно используйте его.Лично я предпочитаю СБТ.Я получаю всю мощь настоящего языка программирования, когда мне нужно реализовать специальную логику сборки.Не менее полезно и то, что мне не приходится иметь дело с файлами конфигурации XML.(XML хорош для данных, но это дрянной формат для файла конфигурации, редактируемого человеком.)
- Вы можете попробовать Databinder Dispatch.Видеть Эта статья за хороший обзор.
Другие советы
- Если вы собираетесь начать разработку, SCALA 2.8 GA, вероятно, будет доступен к вам доступу. Даже если это нет, я бы выбрал самый свежий пакет 2.8RC, а не придерживаясь 2,7,7. 2.8 не только имеет ряд отличных функций, но также содержит лоты 2,7,7 bugfixes.
- Там не так много добытых божеств, предназначенных для Scala в эти дни. Я бы, вероятно, выбрал Поднимите настойчивость, Из-за команды профессионалов и дружеской общины за рамки лифта. Но если вы не хотите рисковать, вы должны рассмотреть возможность использования старых хороших проверенных Java Sorms: Hibernate, JPA, IBATIS (который недавно был переименован в MyBatis) и т. Д.
- Вы должны попробовать SBT! Он совместим с помадами Maven, поэтому миграция на SBT не должна быть слишком больно для вас. Преимущества от использования SBT:
- Он предназначен для SCALA, поэтому вы будете облегчаться от бремени поддержания бесчисленного количества плагинов для Maven, чтобы сделать его работать с Scala последовательно
- Вы сможете написать сценарии сборки в Scala (это удивительный опыт по сравнению с XML)
- SBT имеет функцию убийцы - непрерывное что-либо (здание, тестирование, развертывание). SBT следит за вашим кодом, обнаруживает, когда его изменились и вызывают действие (тест, повторное развертывание и т. Д.).
Не связан с StackOverflow