【问题标题】:Run Java in your web browser在 Web 浏览器中运行 Java
【发布时间】:2012-04-12 23:32:09
【问题描述】:

有没有办法按照这个 Ruby 网页的行在网页中运行 Java 命令行:

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

目的是让新手能够非常简单地介绍该语言,而不必担心 IDE、编译等问题。

【问题讨论】:

  • 这在 Ruby 中相对容易,因为它是一种解释型语言,无论如何都不必担心编译。在Java中会更难。您可能会以某种方式在后台编译(有效地制作带有浏览器界面的 IDE)。或者您可以制作自己的 Java 解释器 - 但严格来说,我不确定这是否仍然是 Java。

标签: java browser


【解决方案1】:

好吧,由于 Java 是一种编译语言并且没有REPL,所以没有这样的“命令行”。但我可以从理论上想到实现这个想法的可能方法。

  • Applet 可能不是真正的解决方案。我不知道在有限的权限下你能走多远。安全问题可能允许您仅在沙箱中操作和/或不编译/执行代码。

  • Java WebStart 应用程序可能具有此类权限。提供一个精简的 IDE 将是一项类似的任务。或者让 Bluej 从 WebStart 运行。

  • 提供一个 Web 应用程序,该应用程序只需向服务器提交请求,该服务器编译并执行代码并返回结果。我假设(我不确定)许多在线 REPL 都是这样工作的。 (通过浏览try python 的JavaScript,我认为它记录了AJAX 请求)但是仍然存在安全问题,例如如果程序开始随机删除文件怎么办? Google Appengine 具有防止滥用的高级安全机制。要为“try java”实现它们,需要付出更多的努力。

  • 下一个想法是将所有内容限制为 Java 语言的一个子集。为了提供一个简短的介绍、一个带有预定义答案的小教程以及一些基本的数学知识,您可以在客户端编写一些 JavaScript 来确定学习者的答案是否正确。

  • 不要忘记当前正在开发基于 Web 的 IDE,例如 Eclipse Orion。也许您可以观察这些项目的发展并将它们用于此目的。目前我只看到那里编辑过 JavaScript 代码,执行 JS 是网络浏览器的自然能力之一。我不知道他们会支持哪些编程语言,也不知道是否支持代码执行。

【讨论】:

    【解决方案2】:

    但通常需要编译 java 才能对 JVM 有用。所以我不确定你能做任何对java有用的事情。主要区别在于解释型 (Ruby) 与编译型 (java) 实现。

    What's the difference between compiled and interpreted language?

    【讨论】:

      猜你喜欢
      • 2011-01-16
      • 2017-05-29
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 2014-05-21
      相关资源
      最近更新 更多