When Apple announces something, it’s absolutely not the time to act. Apple has reversed their stance so many times before. Remember, no iPhone SDK, you were supposed to build web pages instead? No stylus? 9.7" being the perfect size for an iPad?
Or look at Cocoa: Yes, that all new modern API we all needed to switch to. Carbon was a dead-end and supposed to die right after MacOS X was introduced, right?
Fact is, on today’s macOS 10.13.6, I can launch and use 32bit Carbon applications with full functionality - Retina support included. However, every 64bit Cocoa application using garbage collection, which was the all new great thing in 10.5, stopped working two years ago with 10.12.
If you were a Mac developer starting with MacOS X 10.0 and had jumped on every latest trend, you’d have ported your code to ProjectBuilder, to Xcode, to MachO, to Objective-C, to Cocoa, to Altivec, to headless 64 bit, then to full 64 bit, to the G5, to Objective-C 2.0, to garbage collection, to ARC, to Intel, to more modern Cocoa, to Swift.
If you’re a developer with a bit more patience, then you can skip some of the intermediate steps and go right to the end. Skip ProjectBuilder, skip headless 64 bit, skip garbage collection, skip microoptimisations for the G5, maybe even skip some Objective-C and go straight to Swift.
To the user it would make no difference at all - do you know what compiler Blender was built with? Do you care if its OS calls go through Swift or Objective C? Could you even tell if it had secretly switched from OpenGL to Metal in 2.79b?
Not really. The upfront work is not trivial, but not large either. Maintenance for Metal support is likely to be trivial (like OpenGL now) and actually Blender will improve their architecture at the same time, so a net benefit.
Are you saying that from first-hand experience in writing and maintaining platform abstraction layers?
To be honest, I think if one were to write a library that serves as an abstraction of Vulkan, Metal and maybe DX12 too, one would end up with something that resembles modern OpenGL. C based, state encapsulated in objects, bindless direct manipulation, shaders represented using an intermediate language…
My guess is that Blender will absolutely embrace Metal - if only because all the developers in the Blender Institute use Macs.
So many Macs there.