4 ms·
There are arguably 3 equally valid reasons 1. You think you can do better whoever thinks they can do better and has the power to make it happen will. 2. To b
by greggman3 6y ago
There are arguably 3 equally valid reasons
1. You think you can do better
whoever thinks they can do better and has the power to make it happen will.
2. To be able to control your own path
Standards take forever to come to consensus. If you control it you can do whatever you want.
3. To lock developers into an API and therefore make it expensive to port.
I'm sure there is plenty of software that would ship on more platforms if shipping on those other platforms was no work. This reason was brought up with Microsoft introduced DirectX. It's no different for Apple. I'm not saying either Microsoft or Apple are doing it for that reason but it's still a valid reason.
- simonh 6y agoI know I'm swimming against the tide on this, but I really don't think (3) is a significant factor. Apple knows very well that all the top tier games and graphics applications are going to be cross-platform. That's just a fact. They really can't afford to put significant road blocks in the way of getting those games and apps on to their platforms. That would be a massive foot gun. Also you can't with a straight face say on the one hand Metal makes is much easier to run an app or game across all Apple's platforms, and on the other argue it imposes an excessive cost on porting apps to their platforms. If I'm developing a top tier game and want to port it to MacOS and iOS, does Metal make it harder because it's different from the system on other platforms, which in reality were different enough in the OpenGL ES days anyway, or does it make it easier because I get access to all Apple's platforms in one go? It might make it harder in some very specific cases, but a lot easier in many others so it's really a wash.
- je42 6y agoI would say Roblox is a top tier game (counting the DAU) and they say it the investment was fine. Thus Apple did the right move - good api, good performance, fast to implement.
- greggman3 6y agoApple has iOS where AFAIK there are more games than Android. They're really happy if you adopt things like Swift, Metal, SpriteKit etc, because then you're unlikely to want to port to spend time to port to Android. Where as if you use OpenGL ES 3.0 your game, for the most part, your game just works. (having done both). I'm not advocating for OpenGL (yuck), just saying it's a real factor to use something portable vs not. Of course now-a-days most devs use an engine for which that's already taken care of but it certainly wasn't that way in the past when these types of complaints of lock-in came up for DirectX vs OpenGL and C# vs C/C++ etc. They're no less valid for Apple than Microsoft.