Do you think that Apple is going to remove support for OpenGL for iOS? I write cross-platform mobile apps, and have been using CoronaSDK/Lua for these efforts, and have a bunch of code that I’ve developed in Lua. I’ve stuck my toes in the water with Unity. There is a non-trivial learning curve that I have to overcome if I’m going to make the switch. What would you do?
I guess - and more we can not do this moment - there will come the day they will deprecate it. Looking on CAD Vendors with 3D CAD Applications they are changing to unit so I believe: the deprecation will come. Because the most important vendors are still changing their OpenGL stuffs on MACOS and so it will end up like all time: the small developers will have to learn the new system or not to publish anymore.
The OpenGL Question is not trivial at all, learning curve is hard core and there is not much ou could refactor. RIP openGL on MAC.
Considering they mark
as Retired and
as Deprecated I might expect they will remove it at some point
Plus if you expect to use the App stores use of deprecated API’s might result in rejection
2.5 Software Requirements
- 2.5.1 Apps may only use public APIs and must run on the currently shipping OS. Learn more about public APIs. Keep your apps up-to-date and make sure you phase out any deprecated features, frameworks or technologies that will no longer be supported in future versions of an OS. Apps should use APIs and frameworks for their intended purposes and indicate that integration in their app description. For example, the HomeKit framework should provide home automation services; and HealthKit should be used for health and fitness purposes and integrate with the Health app.
SceneKit and SpriteKit are great tools for doing 2D and 3D graphics in Swift/ObjC (and maybe Xojo with declares)
Thanks for this Dave. For me, Xojo is out of the picture, permanently. I’m looking for something cross-platform. I was able to put together an app that ran equally well on iOS, and Android, using CoronaSDK and Lua during its useful life! From responses it looks like OpenGL is out of the picture on iOS. Now I’m embarrassed to say that I’ve been bitten three times! Microsoft with DLL Hell, and COM, RealBasic / Xojo, and now OpenGL! You know, it makes me shake my head, because I made my bones developing cross-platform software in C / C++. Then putting a GUI on the app became important, and my journey off the rails began. Oooof!
That’s my way to work with Java for Cross-Platform. The problems are multiple with Xojo and others. But even Java has with GluonMobile the Problem with leaky OpenGL when it comes to a deprecation. That will hit everybody except a few big ones which have no problem to redevelop their Software Platforms x times to get in shape for the OSses. We may have all that behind us in a few years. And the next snake will bite in our asses. Granted.
I do believe that Apple will remove support for OpenGL at some point.
There is also the MoltenVK project which should allow you to use Vulkan atop Metal, but I have no idea how well it works.
If you were developing for the Mac, you may wanna simply skip the platform like many other companies have chosen to do so, it’s a lot of work for a maximum of 7% of the market. On iOS I think it has about a 50% market share.
The way I see it, you still have options.
- Use something like Unity to avoid the platform specifics, but you are then dependent on Unity as well as Apple.
- Use something like MoltenVK and write your application for Vulkan (is this supported on Android?), more work, but allows you more control than option 1.
- Create a rendering engine framework that converts instructions to whatever Android uses on Android, Metal on iOS and whatever for another platform. It is my understand that major games companies like Sega go this route.
- Pick just one platform and develop for that, the easiest route, but at the expense of missing out on 50% of the market.
- Lastly CoronaSDK/Lua is a popular way to make mobile games, I’ve heard of a games company here in Taiwan that uses CoronaSDK/Lua to make games for iOS, Android and Windows. So perhaps the developers of the CoronaSDK have a plan for when OpenGL is finally removed on iOS?
Sam, thank you for taking the time to share this insightful answer!