Вопрос новичка в Scala - PullRequest
0 голосов
/ 11 октября 2009

Может ли программа scala работать в браузере с отключенным плагином java (поскольку scala компилируется в байт-код jvm)? Другими словами: jvm отключен, если плагин java для браузера отключен?

Или Scala работает на стороне сервера, и я в замешательстве?

Ответы [ 4 ]

3 голосов
/ 12 октября 2009

Если я правильно оцениваю, вы можете иметь как серверную, так и клиентскую сторону.

Если вы хотите использовать его на сервере, он называется сервлетом и компилируется в JSP-приложение.

Если вы хотите использовать его на клиенте, это апплет, который запускается в JVM. И это то, что пользователь отключает в своих настройках браузера.

Насколько я знаю, java и scala компилируются в один и тот же тип байт-кода, который выполняется JVM.

Следовательно, вы не можете использовать ни Scala, ни Java, если у пользователя отключен плагин. Браузер не может различить эти два.

3 голосов
/ 12 октября 2009

Единственная java-программа, которая "запускается в браузере" - это апплет ; любой класс, расширяющий java.applet.Applet, будет служить этой цели. Так как класс Scala может расширять класс Java, поэтому вполне возможно написать апплет в Scala.

Однако, это не может работать, если java отключен в браузере, поскольку scala работает на виртуальной машине Java. (На самом деле, нет никакой разницы между скомпилированной scala-программой и скомпилированной Java-программой - они оба bytecode , который выполняется на JVM)

Однако апплеты не особенно распространены, и большая часть кода на практике будет на стороне сервера. Когда вы видите, что люди говорят о scala и Интернете, они, скорее всего, говорят о Lift , который является (серверной) веб-платформой для Scala.

2 голосов
/ 11 октября 2009

Scala почти всегда запускается на сервере или как обычное настольное "java" -приложение.

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

1 голос
/ 12 октября 2009

Что касается Lift, на стороне сервера запускается Scala, но на стороне клиента запускается автоматически сгенерированный Javascript, который не нуждается в jvm.

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