我們處理這類課題
- 開發 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 製混雜的公司內部工具群