Hello , I'd like to figure out a question. When a ...
# compose-desktop
l
Hello , I'd like to figure out a question. When a Compose Multiplatform project that doesn't use any third-party libraries is compiled to the JVM, does the resulting Java executable depend on CPU instruction set-specific libraries — similar to how Skia or JavaFX require separate builds for aarch64 and amd64 platforms? Or can it simply run on any less common instruction set platform as long as there's a sufficiently recent OpenJDK available? Thanks
m
You already mentioned SKIA yourself which is different for each CPU.
e
a JAR can contain native libraries for multiple architectures, and extract and use the right one at runtime. I'm not sure how it works for packaged applications or installers though
in any case, you're going to be limited by the platform support of the libraries you use (e.g. Skia which is a dependency of Compose)
l
Well, , I once thought that compose might rely on swing rather than skia.
e
Swing is used for creating the window and getting input. all the drawing within the window is done through Skia
m
For the Mac, for example, there is one JAR file skiko-awt-runtime-macos-x64-0.9.4.2.jar which contains both the dylibs for ARM and X64. For other operating systems there are different JAR files.