Как разрабатывать ajax веб-приложения в Scala? - PullRequest
1 голос
/ 06 октября 2011

Я ищу объектно-ориентированную веб-инфраструктуру для разработки Ajax-приложений в Scala. Итак, в идеале я хотел бы иметь что-то вроде GWT, но без смешивания Java (код клиента) и Scala (код сервера).

Вот краткий пример того, как Scala может создать вертикальный макет с меткой и списком:

val label = new Label("nothing selected")
val list = new ListView("item1", "item2") onSelection { value => label.text = value }
pageContent = VerticalLayout(label, list)

На самом деле, это почти код Scala Swing. Но почему бы не выбрать такой же синтаксис для веб-приложений?

По вопросу Можно ли использовать Scala для написания приложений GWT? ozone предложили использовать проект scalagwt. Проект выглядит очень перспективным. Тем не менее, он все еще находится на ранней стадии и еще не поддерживает взаимодействие клиент-сервер (насколько я знаю) - от меня зависит мое веб-приложение.

Другие люди предложили использовать лифт-фреймворк, и мне интересно, позволяет ли лифт разрабатывать Ajax-приложения аналогичным объектно-ориентированным способом, насколько это возможно в GWT. Мне не нужна особенность, заключающаяся в том, что клиентский код компилируется в Java Script, так что клиентские приложения могут даже работать полностью без связи с сервером. Вместо этого я не возражаю, если каждое действие в браузере приводит к Ajax-запросу к серверу, а сервер выполняет соответствующую операцию и отправляет клиенту команды JavaScript для обновления частей веб-страницы (например, для заполнения таблицы X содержимым Y). Хорошо спроектированный API, состоящий из нескольких компонентов пользовательского интерфейса, может использоваться не только для скрытия от пользователей определений этих компонентов в формате HTML, но также и команд обновления JS, которые выполняются в фоновом режиме, когда пользователь обновляет компонент пользовательского интерфейса в коде Scala (например, lable.text = ...). Есть ли модуль для лифта или альтернативный веб-фреймворк, обеспечивающий такое объектно-ориентированное определение веб-приложений?

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

Может быть, вам стоит взглянуть на Vaadin (основанный на GWT фреймворк с богатыми компонентами пользовательского интерфейса) и, в частности, на его поддержку Scala здесь .

0 голосов
/ 10 октября 2011

Я тоже использую Vaadin со Scala - он работает очень хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...