Можно ли использовать Scala для написания приложений GWT?
Можно ли использовать Scala для написания приложений GWT?
(ПРИМЕЧАНИЕ: новичок Java/Scala здесь...)
7 ответов
Короткий ответ: GWT может вызвать программу, написанную на Scala. Самым популярным веб-фреймворком, написанным на Scala, является Lift - http://liftweb.net/ и он станет альтернативой GWT, если вы хотите получить чистое решение Scala.
GWT - это веб-фреймворк, написанный на Java. Клиентская часть написана на языке Java и компилируется в JavaScript, а серверная часть написана на Java и может использовать любые ресурсы, доступные в Java JVM. Scala - это язык, который компилируется в байт-коды, которые исполняются на JVM и могут также взаимодействовать со стандартными программами Java.
Как уже говорилось... НО точно быть еще нет! Этот проект должен позволить GWT поддерживать клиентский код Scala. Также проект поддерживается инженерами Google.
Компилятор GWT работает с исходным кодом Java, поскольку он обеспечивает максимальную прозрачность, позволяющую оптимизировать компиляцию в Javascript. Время от времени обсуждалась работа с байт-кодом, но проблема всегда заканчивалась тем, что много оптимизаций было бы потеряно, если компилятор работает с байт-кодом, а не с исходным кодом.
Тем не менее, есть интересная ветка о поддержке Scala. Тем не менее, приоритеты для команды GWT на данный момент кажутся более сфокусированными на компиляторе языка Java.
Если вы имеете в виду Google App Engine, сервис для размещения веб-приложений, ответ - да.
Если вы действительно имеете в виду Google Web Toolkit, инструменты для компиляции Java в JavaScript для запуска в браузере, я уверен, что ответ - нет. GWT выполняет все виды анализа кода при компиляции в JavaScript, и это зависит от наличия исходных файлов Java, а также .class
файлы.
Мне известны два проекта, которые занимаются этой проблемой.
Jribble (произносится как dribble) - это особая форма java, которая не имеет некоторых человеческих ограничений java, так что ее можно использовать для байта scala и по-прежнему предоставлять GWT информацию, необходимую для создания эффективного javascript. Они упоминают проект GitHub под названием scalagwt-sample ( http://github.com/rfc2616/scalagwt-sample), который кажется довольно активным.
В другой статье, которую я прочитал, был парень, использующий j2js(часть GWT) для кросс-компиляции scala в javascript. Они не позволят мне добавить более одной гиперссылки, но вот URL:
( http://www.j2js.com/scala-demo/scala-days-2010-paper.pdf)
Я еще не успел попробовать, но надеюсь скоро.
Да!
Это Scala+GWT Project, scalagwt. Быстрый статус (мое мнение, конечно): один шаг до использования продукции.
Подробный статус от scala-lang.org
Проект Scala to Javascript - это исследовательский проект, а не то, что мы могли бы назвать продуктом. Вы можете повеселиться, но это еще не все на стадии "ставь свою работу". Есть ошибки. Нам нужно немного поработать над документацией и сгладить края.
Github
Проект Scala + GWT направлен на компиляцию кода Scala для браузера с помощью цепочки инструментов GWT. Вы можете развить проект scalagwt на github здесь
Скала + GWT | GoogleDevelopers
Смотрите красивую презентацию и много объяснений на Youtube здесь
Интересно. В этом случае, если я хочу сгенерированный javascript для хорошего Web 2.0 с Ajax, я перейду к python и пижаме, которые изначально были портом Python для GWT. Он также имеет некоторые другие интересные свойства, такие как создание кода для запуска в качестве независимого от платформы настольного приложения. Я не люблю писать POJO, тем более что POJO ограничен для преобразования во что-то еще.