将 Java Swing 应用变成 Web 应用

本贴最后更新于 3039 天前,其中的信息可能已经时异事殊

Webswing 是什么

Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器。

1472262559817

Swing 框架的时代已经过去,桌面应用不流行了,现在是在线应用、移动应用的天下。但已有的 Swing 桌面应用怎么办呢?使用 Applet 技术已经被证明是不安全的了,将应用重写成 Web 应用成本又太高,所以 Webswing 应运而生。通过 Webswing,你的应用可以安全地运行在服务端,用户的浏览器端只显示界面,并且这一切不用改任何一行已有代码。

工作原理

从用户的视角 Webswing 就像一个常规的 Web 应用。用户在访问 URL 并鉴权成功后可选择已授权的 Swing 应用进行运行,服务端会创建应用实例并通过 Webswing 将界面渲染到浏览器端。用户和应用交互时就像在使用桌面应用一样。

从技术的视角看,Webswing 由两部分构成。第一部分是 Web 分发器,它负责和浏览器通过 [WebSocket] (或者浏览器支持的一些推送技术)进行通讯,也负责启动应用实例以及 JMS 消息通讯。第二部分是通过 Webswing 定制的 java.awt.Toolkit 实现来执行的 Swing 应用,通过这个 AWT Toolkit 实现将应用内容发送到浏览器端,然后浏览器端将内容数据转换为 Canvas 元素进行最终渲染。浏览器鼠标、键盘事件将被发送到 Webswing,然后转换为 Swing 事件格式并发送给 Swing 应用实例进行处理。

示例截图

运行一个简单的 Swing 应用:

1472268112066

浏览器里面跑 [NetBeans] 就是这种体验:

1472267934469

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注
  • Swing
    7 引用 • 31 回帖
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 637 关注
  • HTML5
    25 引用 • 65 回帖 • 696 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...