u/Striking_Creme864

Weaverbird: A real example of plugin management
▲ 10 r/JavaFX

Weaverbird: A real example of plugin management

https://reddit.com/link/1thyw7d/video/iiu22gsdh52h1/player

Recently, we introduced Weaverbird - a framework for working with dynamic plugins. In this post, we want to show a real example of how it can be used. The GUI is build on top of TabShell.

The main idea is that a plugin configuration is represented as an XML file. When the application is distributed, it already contains predefined plugin configurations (at the same time, users can add their own plugins). A configuration contains module definitions, repositories used to download them, plugin metadata, and other related information.

Using a plugin consists of two steps:

  • Install - download all required modules from repositories.
  • Activate - create a ModuleLayer containing the plugin modules and start module activators.

Weaverbird uses the JPMS as its module system - the native Java modularity solution that provides stroing plugin isolation, package access control, dependency integrity and related capabilities. That's why plugins remain isolated, predictable, and safe to load dynamically.

reddit.com
u/Striking_Creme864 — 4 days ago
▲ 10 r/JavaFX

We recently introduced our CEFFX project (a library for integrating the Chromium Embedded Framework into JavaFX) and it was well received. Based on that feedback, we decided to simplify its usage by providing prebuilt native libraries. This allows you to use the library without having to compile anything yourself.

All native binaries are packaged into the ceffx-natives module using classifier names similar to those in OpenJFX:

  • linux (ubuntu-22.04 runner)
  • win (windows-2022 runner)
  • mac (macos-15-intel runner)
  • mac-aarch64 (macos-15-arm64 runner)

The last one (mac-aarch64) will be available once the runner becomes free... eventually :)

The README contains detailed instructions on how to use them, and the overall flow is illustrated in this demo diagram:

https://preview.redd.it/uomd3mvhc6yg1.png?width=1200&format=png&auto=webp&s=b0b6936275acd58739f397737f600a45d9786b24

Before the release, it is necessary to use our snapshot repo. Tested on Linux and Windows.

reddit.com
u/Striking_Creme864 — 24 days ago
▲ 27 r/JavaFX

I'd like to introduce our new project - CEFFX, a port of Java CEF from Swing to JavaFX. The original project has been significantly modified in both native and Java code to fully comply with JavaFX.

Key features include:

  • The library uses only JavaFX classes for UI development.
  • Dual-thread architecture - JavaFX thread and a dedicated CEF thread.
  • Supports custom rendering implementation.
  • A demo application showcasing library features.
  • Comprehensive documentation

Tested on Linux - should run anywhere :) If you find any bugs, feel free to open an issue (PRs are welcome).

This is how it looks in our platform TabShell:

https://preview.redd.it/u94is31bc7xg1.png?width=1200&format=png&auto=webp&s=674b00a73242e03359d60042a700168dd55b63b0

reddit.com
u/Striking_Creme864 — 29 days ago