Вопрос

Я только начал изучать Scala, и первое, что я собираюсь реализовать, — это крошечное веб-приложение.я использовал Эрланг за последний год занимался внедрением серверного программного обеспечения, но я никогда раньше не писал веб-приложения.Это будет отличный опыт.

Существуют ли веб-фреймворки для Scala, кроме Поднимать?

Не поймите меня неправильно, Лифт выглядит потрясающе.Я просто хочу знать, сколько существует фреймворков, чтобы затем выбирать между ними.Всегда хорошо иметь выбор, но единственное, что я нашел, это Лифт.

Это было полезно?

Решение

Меня очень интересует Scala, но я еще не использовал ее, поэтому с этой оговоркой известные мне фреймворки, которые не упоминаются в Ответ HRJ (Лифт, Свит, Слинки):

Другие советы

Я написал Сообщение блога об этом.

Подводя итог, некоторые из вариантов:

  1. Поднимать
  2. Сладкий
  3. Слинки

В конце концов я обнаружил, что ни один из них мне не подходит, и разработал свою собственную маленькую «структуру».(Это еще не открытый исходный код).

Мне нравится Лифт ;-)

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, этот вариант может быть для вас!

Смотрите также:

  1. Немного прозы

  2. Презентация

  3. Некоторый опыт работы с Wicket и Scala.

  4. Анонсы со ссылкой на проект связующего кода для привязки замыканий 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.

Я наткнулся на ваш вопрос несколько недель назад, но с тех пор также узнал о Циркумфлекс.Это красивый, минималистичный фреймворк, поэтому его легко освоить, а также имеется довольно хорошая документация.

Помимо минималистичности, он также утверждает, что хорошо работает с другими библиотеками и позволяет вам использовать собственную реализацию вещей, когда вам это нужно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top