Как фреймворки Scala складываются для полного Scala новичка - Lift, Play, Circumflex и т.д.

В последнее время в сообществе веб-фреймворков Scala было много изменений. Исходя из Rails, Rake, ActiveRecord и миграций - хорошая структура Scala для создания производственных сайтов в?

Небольшое попадание в производительность приемлемо, если оно дает гораздо лучший поддерживаемый код. Было бы также неплохо, если функции совместной работы встроены в, например, что-то вроде миграции БД и т.д.

Ответ 1

(редактирование модератора: Дэвид Поллак является основателем платформы Lift)

Если вы хотите создать простую веб-инфраструктуру Scala для выполнения CRUD и нескольких страниц, Play будет моим предложением. Он получил хороший цикл разработки и прост и доступен.

Если вы создаете приложение, которое будет расти и обрабатывать много трафика, Lift - моя рекомендация; -)

Подъем поддерживает различные системы ORM. Mapper очень похож на ActiveRecord. Вместо использования миграций Mapper использует Schemifier для чтения определения схемы из определений Mapper и соответственно обновляет РСУБД.

Если вы создаете какое-либо приложение Ajax или Comet, Lift является правильным выбором. Подъем поддержки Ajax прост... просто связать функцию на сервере с помощью Ajax-управления. Когда пользователь нажимает кнопку, вытягивает выбор и т.д., Функция вызывается.

В лифте есть лучшая поддержка на базе сервера (Comet) любой фреймворка. Пожалуйста, ознакомьтесь с http://liftweb.blip.tv/file/2033658/ для удобства поддержки Comet.

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

В терминах сжатого кода Lift очень краток, но безопасен по типу (то же самое относится и к Play и другим фреймворкам, которые представляют переменные с именами String). Таким образом, вы получаете вид надежной и очень поддерживаемой поддержки REST, которая также очень кратко показана здесь: http://www.assembla.com/wiki/show/liftweb/REST_Web_Services

Ответ 2

Текущей (и, скорее всего, будущей) звездой веб-фреймворков Scala является Lift, хотя вы можете использовать любую другую инфраструктуру Java, такую ​​как Play с Scala.

Вам не нужно бояться какого-либо повышения производительности при переходе с Ruby на Scala/Lift, ожидайте, что он будет работать быстрее (я слышал, что число от 600% до 2000% быстрее, чем Ruby on Rails), но это зависит от что вы делаете.

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

Ответ 3

Игра с модулем scala намного лучше, чем на мой взгляд, scala является гражданином первого класса в игре. Безстоящие, быстрые, простые, мощные, в производстве, имеют масштабируемый модуль, имеют активных пользователей/разработчиков, полную структуру стека, включая кеширование, db, протоколирование,... Посмотрите это видео: http://vimeo.com/7731173

Ответ 4

Для миграции см. Scala Миграции

В лифте нет строителей (пока), но я думаю, что в игровой среде это есть. Однако лифт, вероятно, подходит, если вы разрабатываете корпоративные сайты.

Lifty - это построитель/процессор для Lift

Для ознакомления с Lift см. Поднять в действии (предварительный перевод) и Окончательное руководство по подъему: веб-структура на основе Scala. Последняя также доступна в Группы Google в файле "master.pdf"

Ответ 5

Lift
Предположим, что вы похожи на Ruby on Rails и предпочитаете многие.