我想替换当前需要使用客户端资源的Java Applet,即外部读取器,并通过套接字与服务器通信。
原因: 1.我有数以千计的客户机使用这个Java Applet程序,其中大多数都运行过时的JRE。当Java Applet程序更新/添加新功能时,所有客户端计算机都需要更新最新的JRE。
预期解决方案:
Java Applet程序将被基于Web的应用程序取代,该应用程序允许在客户端编译和运行源代码,以便新的基于Web的应用程序仍然可以使用客户端的资源并通过套接字与服务器通信
我可以使用 JavaScript 来实现吗?
我非常感谢您对此问题的帮助/建议。谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
使用HTML 5.0,Javascript变得非常强大。 Here是可用于访问各种资源的新元素列表,包括local files,音频,视频,GPU渲染(canvas + WebGL)和GPU计算(WebCL)。 Here甚至可以做更多事情,包括数据库连接和网络。您甚至可以创建offline Javascript applications。
jQuery和jQuery layout使得强大的GUI开发变得更加容易。丰富的工具套件(例如Google Closure)提供优化和编译器,用于在开发过程的早期提高性能并检测明显的错误。
W3 offers useful stats用于做出明智的决定,确定平均有多少用户可以访问哪些功能。请注意,该列表中最讨厌的人可能是IE8,因为它缺乏正确的HTML 5.0支持。
答案 2 :(得分:0)
JavaScript是一种在浏览器中进行评估的脚本语言。 我不会将其描述为编译和运行但是,它确实意味着您可以在客户端中运行代码,并且通常用于创建在浏览器中运行的应用程序。
您可以使用大量的框架来编写应用程序。查看TodoMVC网站,查看使用多个不同框架创建的相同TODO应用。
如果您来自Java小程序,GWT可能会很有趣。
如果您希望让JavaScript客户端侦听来自服务器的消息,请查看websockets。
但智能卡读卡器将成为一个问题! 见Architectures to access Smart Card from a generic browser? Or: How to bridge the gap from browser to PC/SC stack?
顺便说一下:
过时的JRE的真正问题不是你的代码不会在旧的JRE上运行,你可以使用java 1.4或java 5创建完美的applet。你可能需要的任何库都可以与你的applet一起部署。痛苦是一个安全问题。除了最新版本的Java插件之外的任何东西都会被积极利用并使用户面临风险。偶尔,即使是最新版本也不安全。
答案 3 :(得分:0)
如果你想坚持使用Java,那么另一种选择就是使用我的http://bck2brwsr.apidesign.org项目。它的目标是创建可以在100%的现代浏览器中运行的小型Java,而无需安装任何插件。
有HTML的Java绑定(通过knockout - HTML5的四个最流行的框架之一),这就是为什么人们可以用Java编写整个业务逻辑并通过HTML呈现它。应该足以替换大多数applet UI。
除此之外,还有一个在HTML画布上呈现的实验性API。人们用它来编写在纯浏览器中运行的Java游戏。
有一种通过JSON REST API或WebSockets与服务器通信的简单方法。一个现实的例子是here。