为什么java applets / javafx没有被广泛使用? (为什么我不应该将它们用于RIA)

时间:2012-08-29 10:30:02

标签: java html5 applet javafx

Java是我们拥有的最佳托管运行时技术之一。它具有非常高性能的VM,可以实现接近C的性能。高质量的开源库的数量是任何其他平台无法比拟的。 然而,尽管它是第一个出现在浏览器(Applet)中的动态客户端技术,但它现在还没有被广泛使用。 Java的哪些缺点使得人们使用JavaScript + HTML5或Flash / Flex代替Java来实现RIA?我为什么要使用它们,尽管它们对于程序员来说不如Java那么令人愉快?

3 个答案:

答案 0 :(得分:8)

“现在没有广泛使用”

我不同意这种观点......一些例子:

Mindterm是一个基于Java的ssh免费软件客户端,支持ssh2可以作为applet google嵌入式运行

Mizu网络电话是基于Java和开放标准的SIP VOIP客户端,可以作为Applet -google嵌入其中 -

OpenSignX是一个基于Java的开源文档和表格签名Java applet,用于PKI X.509证书。 google for it

Coolsmile是一个基于Java的IRC客户端,可以作为app或嵌入式Applet运行 -google for it -

JFTerm是一个Java telnet客户端。可以作为桌面应用程序或applet运行。支持telnet(23),ssl和ssh -google -

J3Dworkbench是一款Java 3D游戏设计创作工具。通过Webstart或Applet交付 -google for it -

还有thevirtualheart dot org是一个基于Java的心脏模拟器 也是一个applet

或canoo dot com上的Geocaching浏览器(JavaFX)

你无法在HTML5中做所有事情......例如,看看复杂的应用程序,如JITSI(videocomerencing,voip app)或MuCommander -google it-或Sweet Home 3D,或Art of Illusion ...所有基于java的。 Java服务于一个目的......微软及其朋友们一直在试图抹黑它,用其他东西代替它,并且它仍然具有相关性。问自己为什么。这是因为它有一个目的,它的公平竞争软件生态系统是巨大的。

为Java相关项目执行google.com代码搜索...并查看。

另外,对于那些说JavaFX具有有限吸引力的评论者,让我提醒您,Java不仅仅是一种编程语言,而且实际上还有三件事:编程语言,运行时环境和公平竞争的软件生态系统。您可以使用Java库而无需编写单一的Java语言代码...使用Jython(Python for Java),JRuby(Ruby on Java),NetRexx(Java上的开源Rexx,请参阅www.netrexx.org),xRuby(ruby)到Java字节码编译器)或Jabaco(基本到java字节码编译器)...只是举几个JVM语言中的一些...... http://en.wikipedia.org/wiki/List_of_JVM_languages

答案 1 :(得分:5)

与人们创建高质量Flash应用程序所需的时间相比,创建高质量的applet需要花费大量的精力。没有合适的工具,构建表示层可能很乏味。

此外,Oracle / Sun不久前放弃了applet。他们仍然支持他们,但没有积极尝试改善他们。甲骨文目前正在全力支持JavaFX。 JavaFX是一种技术上可行的解决方案,具有允许您利用Java知识的优势。问题是大多数网页设计师没有太多的Java知识,也不想打扰它,所以JavaFX从未如此受欢迎。如果网络语言不受欢迎,当用户必须下载插件才能使用它时,可能会让用户烦恼。

要记住的另一件事是Flash本身也在走出困境。如果你自己开发和维护这个项目,那么随时可以选择JavaFX。

如果您打算聘请网页设计师或想要学习网页设计技巧,让您可以在某个地方受雇,那么这些天最好的选择似乎是学习一个好的javascript框架(例如JQuery)并选择一些可靠的HTML5和CSS3技能。

答案 2 :(得分:1)

Google地图移动版是一个Java小程序http://en.wikipedia.org/wiki/Google_Maps#cite_note-20 我应该认为这说的很多,这个问题有点不言而喻,这会阻止一个建设性的回答,我试图回答的问题是“这是java applets和javaFX被广泛使用”,因为你的问题基于我们不能解决的前提确定你是如何到达它的。 Java applet在Web上工作JavaFX不仅仅是用于构建applet,GUI不仅仅是applet

我可以希望增加您的知识并帮助您重新评估您的意见 以下是:

http://www.ibm.com/developerworks/web/library/wa-appmozx/

  

HTML非常适合显示超文本文档,但显示GUI非常糟糕。传统的基于Web的应用程序使用无穷​​无尽的努力试图将HTML标记为传统表单和菜单应用程序的外观。这绝不是它的目的。   向HTML(FORM)添加表单元素只不过是创建一种以古老的3270终端风格实现瘦客户端块模式应用程序的新方法。与3270一样,HTML提供了批量表单提交。基于字符的应用程序最终获得了高效的用户导航系统,但是当GUI应用程序出现时,这些都丢失了。随后,GUI应用程序使用鼠标和窗口小部件反馈添加了自己的导航结构。   当HTML表单出现在场景中时,他们复制了块模式终端的设计,但没有严格的导航,也没有用适当的GUI等效替换它。在HTML下,用户可以猜测给定页面上的哪些视觉元素可能是用户控件,哪些只是装饰。因此,对于GUI驱动的应用程序,HTML并不是一个很好的起点。这就是为什么Java小程序首次出现时遇到如此积极的市场歇斯底里的原因 - 它们提供了提供真实GUI的机会。