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

Kon*_*tov 12 java html5 applet javafx

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

小智 8

"它现在没有广泛使用"

我不同意这种看法......一些例子:

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

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

OpenSignX是一个基于Java的开源文档和表格签名Java applet,用于PKI X.509证书.谷歌为它

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

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

J3Dworkbench是一款Java 3D游戏设计创作工具.通过Webstart或Applets -google进行交付 -

还有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

  • 所有这些例子都是边缘的,并没有被广泛使用.我第一次看到它们.另一方面,有很多广泛使用的HTML5和Flash应用程序. (6认同)

Pac*_*ace 5

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

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

要记住的另一件事是Flash本身也在走出困境.如果您打算自己开发和维护这个项目,那么随意选择JavaFX.

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