This explains why desktop Java is practical again by arguing for a local-first, evergreen approach to applications and showing the tools that make it straightforward. It highlights long-standing strengths - two decades of libraries, documentation and cross-desktop compatibility - plus recent improvements: jbang for quick project scaffolding and jpackage to produce standalone installers that bundle all required runtime bits. The piece promotes local apps that still update and behave like modern clients (browsers, Steam) rather than stale installs, and it frames desktop Java as a viable option because fewer, stable UI toolkits exist and modern workflows automate packaging.
Concrete examples illustrate the case. A minimal Todo app skeleton is scaffolded with jbang, then implemented with multiple frontends: Swing (enhanced with FlatLaf for a dark theme) demonstrating frames, split panes, custom list models and renderers and showing Swing’s imperative, push-based model; and a TamboUI terminal frontend that creates a modern character-based UI suitable for SSH. JavaFX and SWT are listed as other solid options. Code snippets and commands show how to run and package apps, emphasizing that jpackage produces first-class installers with a few command lines, making desktop Java development and distribution straightforward and reproducible.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.