Web applet中Java小程序的可用性

Web applet中Java小程序的可用性,第1张

概述对于我们大学的电子学习项目,我们使用 Java小程序在Ilias学习单元内部显示一些交互式内容(如一些交互式功能绘图或一些简单的问答系统或其他交互元素及其中的任意组合). 我们决定使用Java,因为我们想要一个开放的解决方案(当时HTML5并不是真的可用,而且Flash实际上并不是一个选项). 现在,几年后,我真的觉得Java并不适用于网络.主要是因为很多问题我并没有真正解决所有情况. 所以,我的 对于我们大学的电子学习项目,我们使用 Java小程序在Ilias学习单元内部显示一些交互式内容(如一些交互式功能绘图或一些简单的问答系统或其他交互元素及其中的任意组合).

我们决定使用Java,因为我们想要一个开放的解决方案(当时HTML5并不是真的可用,而且Flash实际上并不是一个选项).

现在,几年后,我真的觉得Java并不适用于网络.主要是因为很多问题我并没有真正解决所有情况.

所以,我的问题是:Java对于网络来说是不是正确的事情,还是我做的事情.错误?你能指出我如何解决这些问题吗?

我当时遇到的问题:

> Java applet需要很长时间才能加载.即使它是一个非常简单的小applet,它有时需要大约一分钟才能加载.这是为什么?是不是真的Java框架比Qt或其他框架大得多?或者VM是如此之大?或者VM是如此之慢?
>浏览器(或至少Chrome中的选项卡)在加载applet时会变得非常慢esp,但之后也是如此.
> Java applet在每个系统上看起来都不同. UI控件完全不同,并且行为略有不同.有时它是原生的外观(或者它的种类),有时它完全是自己的东西.此外,字体大多不同,并且通常支持不同的Unicode字符子集.这对我们来说是一个真正的问题,因为我们对数学符号使用了很多Unicode,并且我们得到了很多报告,有些符号对某些人不起作用.此外,由于字体在每个系统上都有不同的大小,我得到的报告是文本被删除给少数人(或在JLabel中缩短为“…”).我现在通过在JAR中加入TTF解决了这个问题.这主要起作用.有时候,即使使用独特的字体,我也会收到这些“…”报告.
>有时内存使用量非常高(但并非总是如此).
>当加载具有多个applet的页面时,浏览器崩溃和/或多个applet无法正确加载的可能性变得非常高.此外,整个 *** 作系统变得非常慢.
>有时,Java applet不会在浏览器X中加载,而是在浏览器Y中加载.在重新加载或重新启动浏览器/系统时单击几次后,该行为可能会切换.例如,似乎在firefox中加载小程序的机会更高(也不总是,但大多数情况下,至少在重新加载后点击一两次)并且在Chrome上不太可能(但如果我很幸运,它有时也有效) .根据系统的不同,可能会使用不同的浏览器.虽然从来没有一个完美的浏览器.这种行为发生在我们测试的所有系统上(不同的linux发行版,32位和64位,windows XP / Vista / 7,MacOSX).
>有时,当我切换到另一个标签并返回时,小程序保持空白.有时它至少需要很长时间才能再次出现.
>它占用了所有的cpu.甚至在我用applet关闭所有标签后.我必须退出浏览器才能解决此问题.

我们遇到这些问题的一些例子:

> http://www.matha.rwth-aachen.de/~ilias/jars/Integration/Integration_Geogebra.html
> http://www.matha.rwth-aachen.de/~ilias/jars/Abbildungen/Abbildungen.html
> http://www.matha.rwth-aachen.de/~ilias/jars/Trigonometrie/Trigonometrie_Geonext.html
> http://www.matha.rwth-aachen.de/~ilias/jars/AnalytischeGeometrieundLA/AnalytischeGeometrieundLA.html
> http://www.matha.rwth-aachen.de/~ilias/jars/ganze%20und%20natuerliche%20Zahlen/ganze%20und%20natuerliche%20Zahlen.html

如果你看一下这些例子,什么是Java的一个很好的替代解决方案?我想到了使用最新浏览器的HTML Js(如果我们告诉用户他们应该使用基于WebKit的浏览器,那么这不是一个问题),尽管我认为其中一些例子可能很难实现(或者至少更难实现)比在Java).

解决方法 Java Applets在本世纪初是现代的.目前只有少数网站使用Java applet,这可能是浏览器支持不是最佳的原因之一.

从我在浏览器卡住之前看到的情况来看,你的applet似乎只是绘制各种图表.

我建议尝试一个专注于绘制图表的现代JavaScript库:
http://javascript.open-libraries.com/utilities/chart/20-best-javascript-charting-and-plotting-libraries/

或者,如果您需要比库提供的更多选项,并且您不太关心跨浏览器兼容性,则可以使用HTML5元素和SVG – 除了IE之外的所有浏览器都支持这些.

如果您不需要图表是交互式的,您可以使用PHP / Ruby / Python / Java / what在服务器上呈现它们,并将它们作为普通图像发送到浏览器.

如果需要表达数学表达式,请考虑MathML(http://en.wikipedia.org/wiki/MathML)或可能由服务器脚本动态呈现的普通图像.

总结

以上是内存溢出为你收集整理的Web applet中Java小程序的可用性全部内容,希望文章能够帮你解决Web applet中Java小程序的可用性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1050067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存