The best technologies to use to develop an augmented reality app
What are the available options for companies that want to adopt AR
By Niccolò Maria Menozzi
AR is often mentioned in reference to case study examples, but where should a company that wishes to implement it start? Let’s have a look at what technologies the market offers to program augmented reality.
Developing a web app or a mobile app in augmented reality means you need to rely on additional software which hooks into your device OS hardware for technologies designed for software development. These packets manage the access to the sensors (gyroscope, accelerometer, GPS…) which are contained in smartphones and other mobile devices required for AR to function.
In general these integrations allow the device to map a real reference (a QR code, GPS coordinates, an image, a surface…) using a camera, generating a 3D cartesian space.There are differences between the various mapping methods and each one has its pros and cons that can be exploited based on the needs of the project.
Once you have configured the desired three-dimensional space, you can add 3D compositions or other forms of visual or sound representation (text, photos, geometric forms, voices, sounds, music…) which need to be created using other software and then imported so that the AR app can elaborate them and show them on the camera screens or project them on the lenses of special viewers.
For example, Unity, a development platform for real-time 3D, is one of the most widely-used softwares to create this content. Unity services are not exclusively for the AR field, but are used in general in the video game, automotive, animation, cinema and construction engineering sectors.
Apple AR Kit and Google AR Core
Google and Apple have released their own kits for the development of augmented reality. Apple was the first with its AR Kit in 2017, followed by the Alphabet subsidiary which released AR Core in 2018 to keep up with the competition.
The AR Kit is designed for Swift developers while AR Core is for those who develop using Kotlin.
Although some consider the AR Kit to be better, we can say that they are practically the same. Since they are two resources dedicated to different operating systems, the choice will also be determined by the technical needs and the marketing objectives of the client who wishes to use AR.
Both kits are the most effective choice in performance terms since they are developed natively to take advantage of the Android and iOS resources, they guarantee maximum effectiveness with said mobile operating systems. This is an aspect that must not be overlooked if you want professional performance for games and applications in which the graphics aspect is essential.
Although the native options are the best available, they still have a disadvantage, i.e., if you wish to develop your own application the time and budget required would be higher for both systems, Android and iOS. This is because it is not possible to get the code for one and adapt it to the other.
The Apple and Google kits are not the only ones available to developers. Those who wish to do so can develop augmented reality apps using the resources created specifically for web development AR frameworks.
Wikitude is the best example of said frameworks. It is a cross-platform solution that does not force you to be bound to a single operating system because it allows access to the two native kits using a unified API, offering a less performative fallback implementation if the smartphone does not support AR Core and AR Kit.
Wikitude offers a plugin to connect to Cordova, the project which has for years allowed for the development of hybrid cross-platform applications using web technologies. This has effectively made it possible to integrate an AR experience with native performance also with these applications. Although Cordova is still active, its successor, Capacitor, is not yet officially supported.
Capacitor takes the best parts of Cordova, of which it is an enhanced version, removing its limitations and adding some features. Many plugins of the Cordova system also work when it is in compatibility mode. Capacitor is quite new, so it is not yet as widespread as its predecessor, but we can expect Wikitude to wait for a more mature version to work on compatibility.
The disadvantage of Wikitude is the price. The framework is not open source and is certainly not affordable for everyone. However, in our opinion, Wikitude is totally worth the cost of the license, allowing developers to save time and effort.
Although there are no other solutions that are as advanced, there are other solutions that can be considered for projects that do not require certain characteristics.
ARjs instead is a library for developing web apps in augmented reality. It doesn’t offer all possibilities of the kits for native development and it is a bit limited. To complete its range of functions it needs Three.js or A Frame which manage the creation of the virtual space.
Unfortunately ARjs is not yet able to manage instant motion tracking, surface recognition to manage elements in 3D space, one of the latest types of AR after the marker base, the location based and the image tracking.
For those who wish to develop a stable and professional application, with the assurance of relying on technologies that can deal with a wide array of needs, there is little doubt: AR Kit, AR Core and Wikitude are the top of the range.
There are currently no other technologically advanced alternatives.