To compare between similar products is a natural and healthy thing to do. Except when is not 😛 We have done our share by comparing AR SDKs before, guilty as charged! However, this time things are different for the simple fact that both ARKit & ARCore are specific tech for each company, respectively Apple and Google.
One of the reasons for something like ARKit exists is, to continue promoting app engagement. A healthy app ecosystem is essential to a mobile platform success, and it’s no secret that app engagement is a challenge. By incentivizing the use of specific technology, it forces the use of these technologies on new apps. The same can be said for ARCore, which is a direct descendant of Google Tango.
In any case ARKit is way more important to Apple than ARCore is to Google, Apple has always based its mobile products on a walled garden, where as google has based its products on open systems. Each one comes with its advantages and disadvantages that are beyond the scope of this post.
On top of all this, there are other very popular platforms that help developers to deploy AR apps. One of the more popular is Unity, which is a great cross platform environment.
ARKit & ARCore are native technologies, which means that they need to be programmed in their respective languages: Swift/Objective-C for iOS and Java/Kotlin on Android. The fact that an AR project doesn’t use any of the mentioned technologies, doesn’t mean is less AR. As a matter of fact, ARKit & ARCore are (as of this writing) more limited than matured AR SDKs like Vuforia, Wikitude or even Unity itself.
An AR project doesn’t need to include ARKit & ARCore
Specially when doing crossed platform, it will reach the eternal case for shared code base or not. Sure, using native code brings always the best experience. However, if the current native API doesn’t gives you features that are available on other AR SDKs, then it’s irrelevant that the user experience is better. And before you jump in and say that it can be done, yes we know that native is the best way because it allows full advantage of the platform. However, native is always more expensive than using other options, that can give you similar results for less effort or development cost.
ARKit & ARCore are welcome additions to the AR toolbox, however they are not the only ones and -currently- they’re limited. Use whatever you need to use to bring that AR to life, even if it’s not native.