Agreed it would be nice if there were official Apple support, but FYI there's a project called MoltenVK that implements the Vulkan API on top of Metal: https://arstechnica.com/gadgets/2018/02/vulkan-is-coming-to-...
Apparently Valve shipped a DOTA 2 update a few days ago that is using it:
https://twitter.com/Plagman2/status/1002324195135520768
https://www.phoronix.com/scan.php?page=news_item&px=Dota-2-I...
So that's pretty promising!
My guess is browsers will just implement WebGL on top of Metal and this will be transparent to web developers.
There's precedent: Chrome and Firefox both implement WebGL on Windows with ANGLE, which translates OpenGL to Direct3D.
And it seems they are working on a more generic library : https://github.com/google/nxt-standalone
Ah, and NXT has a Metal backend! Very cool.
It's important to note that NXT isn't necessarily a replacement for ANGLE. It's an experimental replacement for WebGL as a whole, with a different API. There still needs to be a way to run WebGL programs on Mac if this deprecation leads to removal a few versions down the line.
And not strictly a replacement either, WebGL would not go away. The successor to WebGL is still so far away that there will probably be some versions after WebGL 2.0.
browsers are moving to webgpu
WebGL is a browser level API that does not require native driver support like OpenGL. They're related only in semantics.
Mentioning this in a couple different places, but consider Molten (https://moltengl.com/) for this use case; it's a third party but very high quality reimplementation of Vulkan and OpenGL ES atop Metal. In other words, an easy way to adopt metal without actually porting your app.
I also wonder what means for WebGL and its future. Right now, WebGL works in browsers on macOS, Linux, Windows, iOS, Android, which is incredible. There is no equivalent.
Sure, Apple has started working on WebGPU, but that’s not yet ready nor is it guaranteed to gain Linux, Windows, Android support.