For those asking if APFS will cause problems with compatibility with applications. My guesstimate is no, it won't, unless the application is using some very low level functionality that is specific to HFS+ or any of the other 'classic' filesystems you might be using on your mac or hackintosh (like disk optimization stuff, or whatever).
The reason for this is how a UNIX OS (and macOS is at it's root still a UNIX OS) sees a filesystem. Or rather.... How it presents a filesystem to it's applications. It is the task of the OS to make the application unaware of the lower level intricacies of hardware, whether it is using an ATA, SATA, SAS, USB flashdrive, SSD or whatever. Additionally it is it's task to act as an abstraction layer between the application and things like filesystems. The app asks for 'open a file' for instance and the OS should make sure the filesystem/storage layer takes care of that appropriately. The app should not need to know about anything else than opening a file (etc) and where (it thinks) it is. So, I am expecting that software developers, in the vast majority of cases, should not have to change anything in their code. People that write stuff that tries to poke directly into the filesystem layer... Well, that's another case