To implement AR functionality in apps, developers mostly use either native ARKit
or 3rd party frameworks like Vuforia
ARKit is an SDK developed by Apple. They lead the way in the AR race at the moment, aim to drive technology adoption and regularly add new features that enhance the quality of the AR experience. For example, the latest iPad Pro even has a LiDAR scanner that is mostly used by self-driving cars to navigate the environment. And there are rumours that Apple plans to present AR glasses soon — a project that Google failed to accomplish.
Strong points of ARKit include stable tracking, peer-to-peer multiplayer, and realistic reflections. Also, it can hide virtual objects behind a real person, using People Occlusion feature, which helps to avoid breaking immersion. ARKit recognizes even surfaces painted in a single colour like walls or tables — with varying degrees of success.
As for disadvantages, ARKit is only available for iOS devices with A9 or later processors (A12 and A13 for ARKit 3.5), has difficulties with creating lighting and shadows, and can't occlude objects as it does with people. Moreover, it suffers from a common downside of all AR SDKs: if you try to place a virtual object on an enamelled surface, there's a huge chance it won't be recognised. Most ARKit issues come from the decision to rely just on the device power to process AR.
On the other hand, ARCore developed by Google relies on cloud services. It helps to achieve better mapping, lighting, occlusion and relocation — but for all of these things to work properly, you need a device from this list
and stable Internet connection. In comparison to ARKit, ARCore falls short on the stability of tracking and might require sensors' calibration due to a huge amount of discrepancies among Android devices. With ARCore SDK for Unity
, you can use this engine to create apps for both Android and iOS.
Vuforia provides even wider devices' support and can be used for the development of iOS, Android, and Universal Windows Platform apps. This framework was developed in 2010 and contributed to the decision of Apple and Google to create ARKit and ARCore. According to AppFigures
, it's still the most popular SDK for AR apps.