Запустите Java в вашем веб-браузере - PullRequest
3 голосов
/ 29 марта 2012

Есть ли способ запустить командную строку Java на веб-странице по аналогии с этой веб-страницей Ruby:

http://tryruby.org/levels/1/challenges/0

Цель состоит в том, чтобы дать новичкам простое введение в язык, не беспокоясь об IDE, компиляции и т. Д.

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

Что ж, поскольку Java является скомпилированным языком и не имеет REPL , такой «командной строки» не существует.Но я могу думать о теоретически возможных способах реализации идеи.

  • Апплет может быть не совсем решением.Я не знаю, как далеко вы можете получить с ограниченными разрешениями.Проблемы безопасности могут позволить вам работать только в «песочнице» и / или не компилировать / выполнять код.

  • Приложение Java WebStart может иметь такие разрешения.Было бы аналогичной задачей обеспечить тонкий IDE.Или заставить Bluej запускаться из WebStart.

  • Предоставить веб-приложение, которое просто подает запрос на сервер, который компилирует и выполняет код и возвращает результат.Я предполагаю ( Я не уверен ), что многие онлайн-реплеи работают так.(Снимая код JavaScript , попробуйте python Я думаю, что это файлы AJAX-запросов) Но есть проблема безопасности, например, что если программа начинает случайное удаление файлов?Google Appengine имеет усовершенствованные механизмы безопасности для предотвращения неправильного использования.Чтобы реализовать их для «попробуй java», потребуются дополнительные усилия.

  • Следующая идея - ограничить все до поднабора языка Java.Для небольшого введения, небольшого учебника с предопределенными ответами и, возможно, немного базовой математики, вы можете написать на стороне клиента JavaScript, чтобы решить, верны или нет ответы ученика.

  • Не забывайте, что в настоящее время разрабатываются сетевые интегрированные среды разработки, например Eclipse Orion .Возможно, вы могли бы наблюдать за развитием этих проектов и использовать их для этих целей.В настоящее время я видел только код JavaScript, отредактированный там, и выполнение JS является одной из естественных возможностей веб-браузера.Я не знаю, какие языки программирования они будут поддерживать или будет поддерживаться выполнение кода.

0 голосов
/ 29 марта 2012

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

См. В чем разница между компилируемым и интерпретируемым языком?

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