August 21, 2018
Wikitude and Felgo bring AR for Qt developers
Wikitude’s augmented reality technology is now available for Qt-based apps through Felgo (former V-Play).
The constant growth of Wikitude’s ecosystem is, among other things, thanks to the wide range of frameworks supported by our SDK. Since 2012, when we released our first AR plugin for PhoneGap, Wikitude’s mission has been to make AR accessible to as many developers as possible.
By providing a variety of extensions and plugins, Wikitude ensures that its SDK meets the needs of hundreds of thousands of developers looking to boost their apps with augmented reality based on their favorite development framework.
Today, Wikitude proudly announces the expansion of its AR SDK to the Qt community, in partnership with Felgo.
This means Qt-based apps can now include image recognition, location-based AR, object tracking, instant tracking and other features based on Wikitude’s computer vision engine.
Qt for mobile app development
For those new to Qt: it is a powerful and feature-rich C++ framework used in many different industries. It supports the development of apps for Desktop, mobile platforms, and embedded systems – all from a single code base and has more than 1 million active developers using it.
Qt is available open-source, so you can check the full source code of the framework and change it based on your requirements. As Wikitude runs cross-platform, it makes sense to combine it with a solution like Qt.
You can click here and change the QML code yourself and see it update on your mobile app. This feature is possible with V-Play Live Code Reload (for more info, keep reading).
What is Felgo?
Felgo is a cross-platform development framework based on Qt which empowers developers to build better apps in a shorter time span.
Traditionally, Qt was a framework for desktop (Windows, Mac OS + Linux) and embedded systems. Although it also supports basic mobile features, for the development of polished native mobile experiences the Qt framework falls short. Felgo solves this problem by extending Qt with more advanced features for mobile app development and game development.
Felgo is an official Qt Technology Partner, meaning developers can use the full range of Qt APIs, in addition to the Felgo APIs to make cross-platform mobile apps shine. Here are some benefits of using Felgo for mobile app development:
Felgo allows developing feature-rich, cross-platform mobile apps from a single code base, but with less code and much faster development time.
- Native Navigation with a Single Code Base
Felgo Apps abstracts specific navigation paradigms from iOS and Android and allows you to use just a single Navigation component that works cross-platform.
Creating and fine-tuning animations is often one of the most time-consuming tasks in mobile app development – with Felgo can cut this time significantly thanks to the QML language architecture.
- Custom UI and Branded UIs
A common trend in mobile apps is to share the same app layout and design across iOS and Android. The brand identity is becoming more important than strictly sticking to platform aesthetics.
To cover a brand identity, app designs usually require custom colors, fonts, animation and more. It is a frequent use case to re-use this layout, animation, brand identity and UI code across iOS and Android. Even more, navigation paradigms also get re-used across platforms like the bottom navigation bar pattern.
See the Spotify or AirBnB apps as examples: their design, layout, and navigation are the same for both Android (the left screenshots) and iOS (the right screenshots):
- Live Code Reloading
Felgo allows live code reloading, simplifying the process of tuning UI, animations, colors and designs which usually takes a lot of time of mobile app development. This means you can see your app update on iOS on a connected iPhone and iPad, and at the same time see your app update on Android phones or tablets.
You can try live code reloading in the Felgo Cloud IDE here, without having to install anything on your PC. Additionally, you can try live code reloading with every QML example linked in this blog post by clicking on the “Run this example” button.
Felgo offers many more benefits for modern mobile app development. You can find details about of the advantages of working with Felgo here and check the main benefits of this tool over Cordova, Angular, Ionic, Unity and React Native on the dedicated pages.
Why use Felgo compared to native app development?
Felgo helps you build apps FAST. The following chart shows how little code Felgo requires compared to other development platforms. The comparison is based on a real-world project (an app to search real estate properties) that got implemented in various frameworks and which is available on Github:
Those code and time savings are a major advantage to consider Felgo as your chosen cross-platform tool in comparison with native app development. With less code and a single code base for iOS, Android, and Desktop, your maintenance costs also dramatically decrease.
You can release updates to multiple platforms faster and have one team sharing its knowledge across mobile platforms, instead of having 2 kind-of competing teams (iOS & Android) for mobile.
If you have an existing native app, or plan to develop a new native app where you’d like to add the
Already got an app? Use Native iOS or Android code with Felgo
Wikitude AR content, along with other Felgo or Qt/QML components for rapid development, Felgo has you covered as well.
This diagram shows the tech stack of a mobile app powered by Felgo for both of the above scenarios:
You can use any native Obj-C/Swift or Java/Kotlin code in a Felgo app, and deploy your app from a single IDE.
If you have an existing native app and are used to working with Xcode or Android Studio, you can embed Felgo just as you would add a WebView. The V-Play view is shown with a Fragment on Android and within a UIView on iOS, which allows you to keep your existing workflows and mobile app structure. This allows a low-risk and low-effort switch to Felgo, as you can keep the native code parts that you already have.
If you’re new to Felgo and familiar with native app development, the get started links at the end of this post will help you learn Felgo within a day.
Why a Wikitude Qt / Felgo Plugin?
It was about time for AR to reach the Qt community! As mentioned, Wikitude prides its support for multiple development frameworks, cross-platform capabilities and development ease. Having recently introduced support for Windows, Wikitude strives to make AR as accessible as possible to a broad developer crowd.
With the growing popularity of AR, developers from the Qt and Felgo community have been looking for a simple and fast way to add AR functionality to their mobile apps.
With the new Wikitude Qt / Felgo Plugin, adding AR features to apps only takes a few hundred lines of code, and you can publish the AR app within days across platforms with a single code base. The plugin is based on SDK 8 and supports Wikitude’s latest scene recognition, extended object tracking, persistent instant targets, among other features.
“After researching the available AR solutions, Wikitude turned out as the winner as it is the most powerful and flexible AR technology. That’s why we decided to build the plugin based on the Wikitude SDK, bridging the AR gap between platforms with a single API. This solution aligns perfectly with Felgo’s mission: making mobile app development faster, across platforms.” says Christian Feldbacher, CEO at Felgo.
Ready to get started?
We hope you enjoy working with Felgo and Wikitude! You can get started by learning more about Felgo, downloading the Wikitude Qt AR Plugin and kick off your projects hassle-free with these handy guides.
- Felgo Get Started Guide for Android Developers
- Felgo Get Started Guide for iOS Developers
Try the Felgo Wikitude Features on your Mobile
By clicking here, you can test one of the AR features the Felgo Wikitude plugin provides: Image Tracking with a video overlay. The full source code of the above example is only 83 lines of code! It handles downloading the AR assets at first app start and caching them, and displaying the AR demo that you can see in this video:
You can modify the code and then run it on your iOS & Android device, without installing anything on your PC for a quick demo. Also, make sure to check the release announcement of Felgo for more examples and documentation.
Got a fellow Qt developer that should hear the news? Share this story via Twitter using #wikitude and #qt.