Relates :
|
|
Relates :
|
|
Relates :
|
When Apple ported the JDK to macOS, it created a library called JavaNativeFoundation (JNF). This library provided functions that simplified writing correct JNI based native libraries that use macOS AppKit APIs. JNF was used internally by the Apple JDK, but was also published as a public API for use by library developers. JNF is more than just a convenience. For native libraries that bridge between AWT/Swing and AppKit, JNF is needed to allow deadlock-free communication between the AWT event thread and the AppKit main thread. In this regard, JNF was logically part of the JDK on macOS. JNF is currently in limbo. Although still present in the macOS SDK and as a system framework on x86 versions of macOS, it is absent in arm versions of macOS. Although the JDK itself no longer uses JNF, no alternative has been made available for use by library developers. Developers of native libraries need to continue using JNF until some alternative becomes available. The problem is that application developers that use said libraries need to include a JNF framework in their applications that are built for arm, but there is no convenient source for an arm specific or multiplatform JNF framework. As Apple has open sourced JNF, it is possible for any developer to build their own JNF framework for use in an arm application, but that is rather inconvenient. Using JNF in macOS applications would be facilitated if a multi-platform JNF binary framework were readily available.
|