Scala может использоваться для записи приложений GWT?
(ПРИМЕЧАНИЕ: новичок Java/Scala здесь...)
Короткий ответ: GWT может вызывать программу, написанную с использованием Scala. Самым популярным веб-фреймворком, написанным на Scala, является Lift - http://liftweb.net/ , и он может быть альтернативой GWT, если вам нужно решение на чистом Scala.
GWT - это веб-фреймворк, написанный с использованием Джава. Клиентская сторона написана на языке Java и компилируется в JavaScript, а серверная часть написана на Java и может использовать любые ресурсы, доступные в Java JVM. Scala - это язык, который компилируется в байт-коды, исполняемые на JVM, а также может взаимодействовать со стандартными программами Java.
Если вы имеете в виду Google App Engine , службу для размещения веб-приложений, то ответ - да .
Если вы действительно имеете в виду ] Google Web Toolkit , инструменты для компиляции Java в JavaScript для запуска в браузере, я почти уверен, что ответ отрицательный. GWT выполняет все виды анализа кода при компиляции в JavaScript, и это зависит от наличия исходных файлов Java, а также файлов .class
.
Компилятор GWT работает с исходным кодом Java, так как это обеспечивает наибольшую видимость, позволяющую оптимизировать при компиляции в Javascript. Периодически обсуждается работа с байткодом, но проблема всегда заканчивается тем, что много оптимизаций будет потеряно, если компилятор будет работать с байткодом, а не с исходным кодом.
Тем не менее, есть интересный поток о поддержке Scala -. Однако приоритеты команды GWT на данный момент, похоже, больше сфокусированы на компиляторе языка Java.
.Как уже было сказано ... НО точно еще нет! Этот проект должен позволить GWT поддерживать клиентский код Scala. Также проект поддерживают инженеры Google.
Интересно. В этом случае, если я хочу сгенерировать javascript для красивого Web 2.0 с Ajax, я перейду на python и pajamas, которые изначально были портом Python для GWT. У него также есть некоторые другие интересные свойства, такие как создание кода для запуска в качестве независимого от платформы настольного приложения. Я не люблю писать POJO, тем более, что POJO ограничен для преобразования во что-то еще.