Comment

Comment by thangalin

A few JavaFX issues I've encountered while writing KeenWrite[1], my FOSS text editor based heavily on JavaFX:

* Building installer-free cross-platform binaries on a local Linux build machine requires an external packager[2].

* Good luck building an installer-free binary for CPU architectures that differ from the compiler's machine.

* Creating a Windows version will cost $ (to sign).

* Creating a macOS version will cost $ (to sign).

* WebView is a bloated beast that bundles JavaScript and exposes no API to set scrollbar positions.

* FlyingSaucer[3] is a lightweight alternative to WebView, but requires a SwingNode.

* SwingNode text rendering is blurry on Windows.

* SwingNodes issue GDK-3 warnings on Linux.

* Menu latching messes up cross-platform (Alt+Tab is a wrench).

* Modular applications are a pain. Migration has been poorly communicated, poorly documented, and poorly supported.

* RichTextFX has no way of changing the caret style in insert mode.

* PreferencesFX, and likely other FX libraries, has security issues.

* For MDI with dockable panes, take a look at tiwulfx-dock[4].

Java problems:

* "Write once, run anywhere" is no longer true.

* Apache Batik for rendering SVG images is buggy, EchoSVG[5] is better.

* Rendering math as SVG is hard[6].

* Cross-platform user data directory that complies with XDG, Windows, and macOS will take effort.

* Reliably locating executable programs across platforms is a chore.

Depending on your requirements, C++ and imgui may be a better choice.[7]

[1]: https://gitlab.com/DaveJarvis/KeenWrite

[2]: https://github.com/Reisz/warp/

[3]: https://github.com/flyingsaucerproject/flyingsaucer

[4]: https://github.com/panemu/tiwulfx-dock

[5]: https://github.com/css4j/echosvg

[6]: https://gitlab.com/DaveJarvis/KeenType

[7]: https://github.com/ocornut/imgui/issues/4400#issuecomment-89...

parent thangalin 2 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton