哪个选项适合替换Java小程序?

哪个选项适合替换Java小程序?,java,javascript,html,applet,Java,Javascript,Html,Applet,我想替换目前需要使用客户端资源(即外部读卡器)并通过套接字与服务器通信的Java小程序 原因: 1.我有数千台客户机使用这个JavaApplet程序,其中大多数运行的都是过时的JRE。当Java小程序更新/添加新功能时,所有客户机都需要更新最新的JRE 预期解决方案: Java小程序预计将被基于web的应用程序所取代,该应用程序允许在客户端编译和运行源代码,这样新的基于web的应用程序仍然可以使用客户端的资源,并通过套接字与服务器通信 我可以使用JavaScript来实现它吗 我非常感谢你对这个

我想替换目前需要使用客户端资源(即外部读卡器)并通过套接字与服务器通信的Java小程序

原因: 1.我有数千台客户机使用这个JavaApplet程序,其中大多数运行的都是过时的JRE。当Java小程序更新/添加新功能时,所有客户机都需要更新最新的JRE

预期解决方案:

Java小程序预计将被基于web的应用程序所取代,该应用程序允许在客户端编译和运行源代码,这样新的基于web的应用程序仍然可以使用客户端的资源,并通过套接字与服务器通信

我可以使用JavaScript来实现它吗

我非常感谢你对这个问题的帮助/建议。谢谢大家!

试试看

我认为这是可以用来与客户端浏览器通信的最新技术。它还支持最新的浏览器和移动浏览器


希望这能对您有所帮助。

Javascript已经变得非常强大。是一个新元素列表,可用于访问各种资源,包括音频、视频、GPU渲染(canvas+WebGL)和GPU计算(WebCL)。您还可以做更多的事情,包括数据库连接和联网。你甚至可以创造

jQuery和jQuery使健壮的GUI开发变得更加容易。丰富的工具套件,例如提供优化和编译器,以提高性能并在开发过程的早期发现明显的错误


对平均有多少用户可以访问哪些功能做出明智的决定。请注意,该列表中最令人讨厌的可能是IE8,因为它缺乏适当的HTML5.0支持。

JavaScript是一种脚本语言,可以在浏览器中进行评估。 我不会将其描述为编译和运行,但是的,它确实意味着您可以在客户端运行代码,并且通常用于创建在浏览器中运行的应用程序

您可以使用大量的框架来编写应用程序。看看这个网站,可以看到使用几个不同框架创建的相同TODO应用程序

如果您来自Java小程序,那么GWT可能会很有趣

如果希望让JavaScript客户端监听来自服务器的消息,请查看

不过,智能卡读卡器将是一个问题! 看


顺便说一下:


过时的JRE的真正问题不是您的代码不能在旧的JRE上运行,您可以使用Java1.4或Java5创建完美的小程序。您可能需要的任何库都可以与小程序一起部署。痛苦是一个安全问题。除了最新版本的Java插件之外,任何东西都会被积极利用,并将用户置于风险之中。有时候,即使是最新版本也不安全。

如果您想坚持使用Java,那么另一种选择就是使用我的项目。它的目标是创建小型Java,可以在100%的现代浏览器中运行,而无需安装任何插件

HTML有Java绑定(通过四种最流行的HTML5框架之一),这就是为什么可以用Java编写整个业务逻辑,然后通过HTML呈现。应该足以替换大部分小程序UI

除此之外,还有一个在HTML画布上呈现的实验性API。人们用它来编写在纯浏览器中运行的Java游戏


有一种通过JSON REST API或WebSocket与服务器通信的简单方法。一个活生生的例子是。

您需要准确使用哪些客户端资源?顺便说一句,您可能最终会有数千个客户端运行过时的浏览器,更新您的Web应用程序将需要您更新所有计算机…感谢您的回复el.pescado!实际上,客户机应该连接到外部智能卡阅读器,而我已经有C++ DLL库来控制智能卡阅读器。我希望JavaScript能够调用C++的DLL方法。我之所以想替换java applet程序,是因为这个程序是多年前建立的,而且源代码设计得不好,大部分的部分都是硬编码的,所以更新和维护它是非常痛苦的。此外,现在我有了不同类型的客户端程序,例如:JavaApplet、Silverlight。。。在将来,我想把它们都迁移到基于网络的应用程序,这些应用程序可以在平台和操作系统上独立访问。感谢多米与我分享这些有用的信息!我将尝试jQueryUI从我未来的基于web的应用程序中生成GUI。谢谢Ipis!这对插座连接非常有帮助。我试试看。谢谢你的建议!与JavaApplet相比,我更喜欢JavaScript,因为向前发展,大多数web浏览器都支持HTML5和JavaScript,因此当我需要更新新版本时,它将节省大量的工作。顺便说一句,我刚刚发现了一件有趣的事情,可能对我有所帮助,这就是:老实说,需要智能卡访问看起来是保持当前applet的最令人信服的原因之一。我不是建议你这么做。我不知道所有的细节。如果我根据您所写的内容给出任何建议,我可能会继续使用applet。是的,您是对的!智能卡接入是一个重要问题。在决定迁移之前,我将尝试使用JavaScript的所有解决方案。非常感谢你的帮助!“有时候,即使是最新的版本也不安全。”更糟糕的是,偶尔更新的版本会重新引入以前已解决和修复的已知安全漏洞!难怪浏览器制造商决定放弃对Java插件的支持。太阳神/甲骨文在这一次射中了自己的脚。谢谢雅罗斯拉夫!但对于我的问题,从网络浏览器访问智能卡是最重要的问题