SAF doesn't work with native code, which really sucks if you're trying to make a cross-platform app.
Native code can work with files inside the app data folder. Then you can expose that folder with SAF in a separate Activity. Termux does this and it works really well.
Yes it does, nothing forbids someone to write a bit of Java, invoked via Android IPC, no need to be allergic.
Too many folks keep pretending Android is GNU/Linux