Какие веб-фреймворки Scala доступны?[закрыто]
-
18-09-2019 - |
Вопрос
Я только начал изучать Scala, и первое, что я собираюсь реализовать, — это крошечное веб-приложение.я использовал Эрланг за последний год занимался внедрением серверного программного обеспечения, но я никогда раньше не писал веб-приложения.Это будет отличный опыт.
Существуют ли веб-фреймворки для Scala, кроме Поднимать?
Не поймите меня неправильно, Лифт выглядит потрясающе.Я просто хочу знать, сколько существует фреймворков, чтобы затем выбирать между ними.Всегда хорошо иметь выбор, но единственное, что я нашел, это Лифт.
Другие советы
Я написал Сообщение блога об этом.
Подводя итог, некоторые из вариантов:
В конце концов я обнаружил, что ни один из них мне не подходит, и разработал свою собственную маленькую «структуру».(Это еще не открытый исходный код).
Мне нравится Лифт ;-)
Play — мой второй выбор среди веб-фреймворков, дружественных к Scala.
Калитка — мой третий выбор.
Ниже приведен дамп фреймворков.Это не значит, что я действительно их использовал:
Коус.Традиционный веб-фреймворк MVC для Scala.
Нефильтрованное.Набор инструментов для обслуживания HTTP-запросов в Scala.
Любовь.Scala-порт веб-фреймворка Ruby Sinatra.
Весы XML.Гибкий подход к обработке XML и упрощенный способ взаимодействия с XML.
Пояс.Rack-подобный интерфейс для веб-приложений, построенный на основе Scalaz-HTTP.
Откровенный.веб приложение DSL построен на основе Scalaz/Belt
Смешанные биты.Фреймворк для языка программирования Scala, помогающий создавать веб-сайты.
Циркумфлекс.Объединяет несколько автономных проектов с открытым исходным кодом для разработки приложений с использованием языка программирования Scala.
Веб-машина Скала.Веб-машина Port of Basho в Scala, система на основе REST для создания веб-приложений.
Боулер.RESTful, многоканальный готовый веб-фреймворк Scala.
Пытаться Игровая платформа, который также поддерживает Scala.
Один очень интересный веб-фреймворк с коммерческим развертыванием — Скалатра, вдохновленный Синатрой Руби.Вот Статья InfoQ об этом.
Я нахожу «Нефильтрованный» очень интересным https://github.com/unfiltered/unfiltered.
Он упоминается в списке IttayD.
Вот презентация об этом 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
Следует отметить, что существует также значительный интерес к Калитка и Скала.Wicket на удивление хорошо подходит для Scala.Если вы хотите воспользоваться преимуществами очень зрелого проекта Wicket и его экосистемы (расширений), а также преимуществами лаконичного синтаксиса и производительности Scala, этот вариант может быть для вас!
Смотрите также:
Играть это довольно мило.
Теперь он готов к производству.Он включает в себя:крутая структура шаблонов, автоматическая перезагрузка исходных файлов при сохранении, компонуемая система действий, крутость akka и т. д.
Его часть Типобезопасный стек.
Использовав его в двух проектах, я могу сказать, что он работает довольно гладко, и вам следует учитывать это в следующий раз, когда вы захотите изучить новые веб-фреймворки.
Я склонен использовать JAX-RS, используя Джерси (вы можете написать хорошие ресурсные компоненты на Scala, Java или Groovy) для написания веб-приложений RESTul.Затем я использую Масштабировать для рендеринга представлений с использованием одного из различных языков шаблонов (ДЖЕЙД, Мошенничество, Ссп (Страницы сервера Scala), Усы, и т. д.).
Появился новый веб-фреймворк под названием Веб-страницы Scala.С сайта:
Целевая аудитория
Веб-фреймворк Scala Pages, скорее всего, понравится веб-программистам, имеющим опыт работы с Java и желающим программировать веб-приложения на Scala.Акцент делается на ООП, а не на функциональном программировании.
Характеристики и особенности
- Придерживается парадигмы модель-представление-контроллер.
- Текстовый шаблонизатор
- Простой синтаксис:
$variable
и<?scp-instruction?>
- Обнаружение кодирования/контента, возможность обработки международных кодировок текста.
- Сниппеты вместо пользовательских тегов
- Переписывание URL-адресов
Прикрутил, думаю мы в одной лодке.Я также пришел в Scala из Erlang.Мне нравится Азот много, поэтому я решил создать веб-фреймворк Scala, вдохновленный этим.
Взгляни на Ситрум. Это документ является довольно обширным.Из README:
Xitrum — это асинхронная и кластеризованная веб-инфраструктура Scala и веб-сервер на базе Netty и Hazelcast:
- Он заполняет пробел между Scalatra и Lift:более мощный, чем Scalatra, и более простой в использовании, чем Lift.Вы можете легко создавать как RESTful API, так и обратные передачи.Xitrum ориентирован на контроллер, как Scalatra, а не на просмотр, как Lift.
- Аннотация используется для URL-маршрутов в духе JAX-RS.Вам не обязательно объявлять все маршруты в одном месте.
- Типобезопасность в духе Scala.
- Асинхронный, в духе Netty.
- Сессии могут храниться в файлах cookie или в кластерном Hazelcast.
- Проверка jQuery интегрирована для проверки на стороне браузера и на стороне сервера.i18n использует GNU gettext, что означает, что в отличие от большинства других решений поддерживаются формы как единственного, так и множественного числа.
- Условный GET с использованием ETag.
Hazelcast также дает:
- Внутрипроцессный и кластерный кеш: вам не нужны отдельные серверы кэширования.
- Comet в процессе работы и в кластере позволяет масштабировать Comet на несколько веб-серверов.
Следовать руководство для быстрого старта.
Еще есть Pinky, который раньше был на Bitbucket, но был перенесен на github.
Кстати, github — отличное место для поиска Scala-проектов, там много чего помещается.
Я хотел бы добавить к этому списку свои собственные усилия.Более подробную информацию вы можете узнать здесь:
Он находится на ранней стадии разработки, и я все еще активно над ним работаю.Он включает в себя такие функции, как:
- Акцент на простоте и расширяемости.
- Интегрированный инструмент сборки.
- Модульная конструкция;некоторые начальные модули включают поддержку сервисов scalate, email, jms, jpa, squeryl, cassandra, cron и т. д.
- Простые контроллеры и действия RESTful.
Любая обратная связь очень ценится.
ОБНОВЛЯТЬ:2011-09-078, я только что опубликовал крупное обновление до версии 0.9.1.Дополнительная информация находится на http://brzy.org который включает в себя скринкаст.
И Свит, и Слинки, похоже, не обслуживались уже около года.Репозиторий Sweet Maven Sweetsoftwaredesign.com мертв, поэтому нет возможности даже загрузить зависимости.
Примечание:Спиффи устарел.
<затыкать>
Шикарный:
- написано на Scala
- использует фантастическую библиотеку Akka и актеров для масштабирования
- использует API сервлетов 3.0 для асинхронной обработки запросов
- является модульным (замена компонентов проста)
- использует DSL для сокращения кода там, где он вам не нужен
- поддерживает Scalate и Freemarker для шаблонов
Spiffy — это веб-фреймворк, использующий Scala, Akka (реализация субъекта Scala) и API Java Servlet 3.0.Он использует асинхронный интерфейс и стремится предоставить массово-параллельную и масштабируемую среду для веб-приложений.Все различные компоненты Spiffy основаны на идее, что они должны быть независимыми минималистичными модулями, которые очень быстро выполняют небольшой объем работы и передают запрос следующему компоненту в конвейере.После того, как последний компонент завершил обработку запроса, он сигнализирует контейнеру сервлетов, «завершая» запрос и отправляя его обратно клиенту.
https://github.com/mardambey/spiffy
</затыкать>
Вы также можете попробовать Контекст.Он был разработан как Java-фреймворк, но я успешно и без проблем использовал его со Scala.Это компонентная структура, имеющая те же свойства, что и Lift или Tapestry.
Я наткнулся на ваш вопрос несколько недель назад, но с тех пор также узнал о Циркумфлекс.Это красивый, минималистичный фреймворк, поэтому его легко освоить, а также имеется довольно хорошая документация.
Помимо минималистичности, он также утверждает, что хорошо работает с другими библиотеками и позволяет вам использовать собственную реализацию вещей, когда вам это нужно.