我们承接这样的课题
- 开发 Swing / AWT 业务应用程序的负责人已经离开,没有人能修改
- 一直停留在 Java 8,被指出存在安全方面的问题
- Applet / Web Start 已被废止,公司内部应用程序失去了分发手段
- 每次分发都会因为 JRE 版本不同而出问题
- 想迁移到 JavaFX,但看不清影响范围
- 想全新开发 Java 桌面应用程序,但不知道如何选择结构
这里处理的是在 Windows 上运行的 Java 桌面应用程序。我们重视不勉强重写,而是在活用现存资产的同时分阶段动手。
擅长处理的主题
- 使用 Swing / JavaFX 全新开发业务应用程序与公司内部工具
- 既有 Swing / AWT 应用程序的分析、功能追加、故障修复
- 从 Java 8 到 Java 17 / 21 的版本迁移与依赖库的梳理
- 使用 jpackage 分发内置运行环境的 exe / MSI
- 评估并引入 GraalVM native-image 生成原生二进制文件
- 改善 UI 线程(EDT / JavaFX Application Thread)相关的冻结与卡顿
推进方式
- 首先梳理目标应用程序的结构、Java 版本、依赖库、分发方式以及遇到的困难。
- 然后把迁移、改造、维持现状这些选项连同成本和风险一起列出来,决定推进的顺序。
- 实现阶段把构建配置、测试、分发打包、运行时的日志也一并整理好。
适合这样的咨询
- 想修复旧的 Java 桌面应用程序,但不知道该从哪里下手
- 想把 Java 版本升级和分发方式的重新评估一并推进
- 想从技术选型阶段开始商量,应该用 Windows 原生应用程序还是 Java 应用程序来开发
- 希望由一个窗口统一照看 .NET 与 Java 混杂的公司内部工具群