Какие веб-фреймворки Scala доступны? [закрытый]
Я только начал изучать Scala, и первое, что я собираюсь реализовать, это крошечное веб-приложение. Я использовал Эрланг за последний год реализовать серверное программное обеспечение, но я никогда не писал веб-приложения раньше. Это будет большой опыт.
существуют ли веб-фреймворки для Scala, за исключением лифт?
Не поймите меня неправильно, лифт выглядит удивительным. Я просто хочу знать, сколько фреймворков существует, чтобы я мог тогда выбирать между ними. Всегда хорошо иметь выбор, но я нашел только лифт.
18 ответов
меня очень интересует Scala, но я еще не использовал его, поэтому с этой оговоркой рамки, которые я знаю, не упоминаются в HRJ-х (лифт, сладкий, Slinky) являются:
Я написал блоге об этом.
чтобы резюмировать, некоторые из вариантов:
Я, наконец, обнаружил, что ни один из них не подходит для меня, и разработал свою собственную маленькую "структуру". (Это еще не открытый исходный код).
Ниже приведен дамп базы. Это не значит, что я действительно использовал их:
Coeus. Традиционная веб-платформа MVC для Scala.
нефильтрованное. Инструментарий для обслуживания HTTP-запросов в Scala.
Amore. Порт Scala веб-фреймворка Ruby Sinatra
в XML-Весы. Гибкий подход к обработке XML и упрощенный способ взаимодействия с XML.
пояс. Стоечный интерфейс для веб-приложений, построенный поверх Scalaz-HTTP
MixedBits. Рамки для Скала progamming язык для создания веб-сайтов
Circumflex. Объединяет несколько самостоятельных проектов с открытым исходным кодом для разработки приложений с использованием языка программирования Scala.
Scala Webmachine. Порт веб-машины Basho в Scala, система на основе REST для создания веб-приложений
Боулер. Спокойный, многоканальный готовый веб-фреймворк Scala
Мне нравится лифт ;-)
Play - мой второй выбор для веб-фреймворков, удобных для Scala.
калитка - мой третий выбор.
один очень интересный веб-фреймворк с коммерческим развертыванием -Scalatra, вдохновленный Синатрой Руби. Вот это InfoQ article об этом.
Я нахожу нефильтрованный очень интересным https://github.com/unfiltered/unfiltered.
Это упоминается в списке Иттайда.
вот презентация об этом http://unfiltered.lessis.me/#0 и видео http://code.technically.us/post/942531598/doug-tangren-presents-the-unfiltered-toolkit-for
также здесь есть статья с Подробнее http://code.technically.us/post/998251172/holding-the-parameter
необходимо отметить, что существует также значительный интерес к калитка и Scala. Калитка подходит Scala удивительно хорошо. Если вы хотите воспользоваться очень зрелым проектом калитки и его экосистемой (расширениями), а также кратким синтаксисом и преимуществом производительности Scala, это может быть для вас!
Читайте также:
играть - это очень мило.
теперь производство готово. Он включает в себя: прохладный шаблон рамки,автоматическая перезагрузка исходных файлов на safe, композиционная система действий, Akka удивительность и т.д.
часть Typesafe Stack.
использовав его для двух проектов, я могу сказать, что он работает довольно гладко, и это должно быть что-то рассмотреть в следующий раз, когда вы хотите узнать новые веб-фреймворки.
Я склонен использовать JAX-RS, используя Джерси (вы можете написать хорошие бобы ресурсов в Scala, Java или Groovy) для написания веб-приложений RESTul. Тогда я использую Scalate для рендеринга представлений с использованием одного из различных языков шаблонов (Джейд, Scaml, Ssp (Страницы Сервера Scala),ус, etc.).
есть новый веб-фреймворк, называемый Веб-Страницы Scala. С сайта:
Целевая Аудитория
веб-фреймворк страниц Scala, вероятно, понравится веб-программистам, которые происходят из Java-фона и хотят программировать веб-приложения в Scala. Акцент делается на ООП, а не на функциональное программирование.
Характеристики И Особенности
- придерживается парадигмы model-view-controller
- текстовый template engine
- простой синтаксис:
$variable
и<?scp-instruction?>
- кодирование / обнаружение контента, способное обрабатывать международные текстовые кодировки
- фрагменты вместо пользовательских тегов
- переписывания URL-адресов
Prikrutil, я думаю, что мы в одной лодке. Я тоже приехал в скалу из Эрланга. Мне нравится Азот много, поэтому я решил создать веб-фреймворк Scala, вдохновленный им.
посмотри Xitrum. его doc достаточно обширен. От README:
Xitrum-это асинхронная и кластерная веб-платформа Scala и веб-сервер поверх Netty и Hazelcast:
- оно заполняет зазор между Scalatra и подъемом: больше мощнее, чем Scalatra и проще в использовании, чем лифт. Вы можете легко создавать как RESTful API, так и postbacks. Xitrum является контроллером-сначала как Scalatra, а не view-first как Lift.
- Аннотация используется для маршрутов URL, в духе JAX-RS. Вам не нужно объявлять все маршруты в одном месте.
- Typesafe, в духе Scala.
- асинхронно, в духе Нетти.
- сеансы могут храниться в файлах cookies или кластерах Hazelcast.
- проверка jQuery интегрирована для проверки на стороне браузера и на стороне сервера. i18n с использованием GNU gettext, что означает, в отличие от большинства других решений, поддерживаются как сингулярные, так и множественные формы.
- условно получить с помощью ETag.
Hazelcast также дает:
- в процессе и кластерный кэш, вам не нужны отдельные серверы кэша.
- в процессе и кластеризованная Комета, вы можете масштабировать комету до нескольких веб сервера.
следуя учебник для быстрого старта.
есть также Пинки, который раньше был на bitbucket, но был переведен в github.
кстати, github-отличное место для поиска проектов Scala, так как там много поставлено.
Я хотел бы добавить мои собственные усилия в этот список. Более подробную информацию вы можете узнать здесь:
Он находится в ранней разработке, и я все еще работаю над ним агрессивно. Он включает в себя такие функции, как:
- фокус на простоте и расширяемости.
- встроенный инструмент для сборки.
- модульное проектирование; некоторые начальные модули включают поддержку для scalate, электронной почты, jms, jpa, squeryl, Кассандры, обслуживаний cron и еще.
- простые контроллеры RESTful и действия.
любая обратная связь очень ценится.
UPDATE: 2011-09-078, я только что опубликовал крупное обновление до версии 0.9.1. Там больше информации наhttp://brzy.org который включает скринкаст.
Как сладкие, так и облегающие, кажется, unmaintanted около года. РЕПО Sweet Maven sweetsoftwaredesign.com мертв, поэтому нет даже способа загрузить зависимости.
Примечание: Spiffy устарел.
вилки>
Spiffy:
- написано на языке Scala
- использует фантастическую библиотеку Akka и актеров для масштабирования
- использует servlet API 3.0 для асинхронной обработки запросов
- модульно (замена компонентов прямо вперед)
- использует DSLs, чтобы сократить код, где вы не хотите его
- поддерживает Scalate и Freemarker для шаблонов
Spiffy-это веб-платформа, использующая Scala, Akka (реализация актера Scala) и API Java Servlet 3.0. Он использует асинхронный интерфейс и стремится обеспечить массово параллельную и масштабируемую среду для веб-приложений. Различные компоненты Spiffy основаны на идее, что они должны быть независимыми минималистичными модулями, которые очень быстро выполняют небольшие объемы работы и передают запрос следующему компоненту в трубопроводе. После того, как последний компонент обработает запрос, он сигнализирует контейнеру сервлета, "завершая" запрос и отправляя его обратно клиенту.
https://github.com/mardambey/spiffy
/plug>
вы также можете попробовать контекст. Он был разработан как Java-фреймворк, но я успешно использовал его с Scala также без трудностей. Это структура на основе компонентов и имеет аналогичные свойства, как лифт или Гобелен.
я наткнулся на ваш вопрос несколько недель назад, но с тех пор узнали о Circumflex. Это хорошая, минимальная структура, которая поэтому проста в освоении, и у нее есть довольно хорошая документация.
кроме того, он минимален, он также утверждает, что хорошо работает с другими библиотеками и позволяет использовать собственную реализацию вещей, когда вам это нужно.