Earlier this month, the Qt for Tizen project announced its 1.0 Alpha 4 update of Qt solutions for developers, designers, and system integrators.
Qt for Tizen is a community-driven port of Qt 5, a cross-platform application and user-interface framework for developers using C++ and QML. And the latest updates incorporate the Qt 5.2 Alpha build with added support for Android and iOS.
Qt for Tizen claims to be “one native SDK that can target Tizen, Android, iOS, specialized embedded systems and desktops, and more.” But what does this mean for developers?
In short, it’s easier to build applications for Tizen that take advantage of the operating system's unique mobile features, without writing a lot of extra code. With Qt Creator at the center of the new SDK, Qt for Tizen streamlines the process of designing, coding, running, debugging, and publishing mobile apps.
If you’re considering writing software for Tizen but have concerns about market adoption, Qt is a practical option because it allows you to develop for multiple platforms at the same time. It addresses the needs of software developers who already have their Qt or C++ code and would like to support Tizen, too. Qt developers who have only programmed for desktops or embedded devices can also use it as the first approach when expanding to the mobile space.
“Maintainers of the OS understand this pragmatic approach, for example, by enabling an Android compatibility layer,” says Jaroslaw Staniek, Qt and Open Source Evangelist.
Tailored to Tizen
Tizen is a Linux Foundation collaborative project led by a Technical Steering Group, which includes Samsung and Intel, and the Tizen Association, which includes representatives from 12 mobile-focused companies. The project is an open source, standards-based software platform for developing HTML5-based applications, which makes it an attractive option for developing cross-platform mobile apps.
Every release of Qt for Tizen brings deeper integration with Tizen’s approach to development, according to Staniek.
For example, integration with HTML5 programming is an option in both Qt/C++ and Qt Quick programming, Staniek says. And “its web engine is planned to be upgraded from WebKit to Blink.” Qt apps can embed HTML5 elements when it’s necessary, Staniek explains, and there are facilities built into Qt Quick for using REST APIs for web services without needing to use a web engine.
According to Staniek, this prevents making HTML5 support a requirement on a given platform, so instead of a heavier web engine, most use cases can be covered by the Qt Quick engine or native C++. Staniek points out that these choices are sometimes appreciated by embedded developers when resources are constrained.
Application lifetime is also transparently handled so developers don’t have to add any extra code, Staniek says. “And smartphone sensors support was implemented in less than one week, and supports standard Qt APIs.” He adds, “Basically, any more-or-less custom bit of hardware or middleware can be rather easily exposed to Qt programming using Qt-like style of APIs.” .
A week after Tizen 2.2 introduced theming, Qt for Tizen offered support for themes for the desktop, emulators, and smartphones, with the ability to switch between them on the fly, according to Staniek. Qt for Tizen provides a full set of UI controls compliant withTizen UX guidelines.
“Interestingly, this set is currently the most complete among all Qt Quick styles, even compared to Android,” Staniek says.
The latest release also goes beyond Tizen integration to provide a template for integrating other cutting edge features and mobile operating systems as well.
“Qt for Tizen goes even further by contributing back its mobile phone-related improvements to the base APIs of Qt Quick Controls and Styles,” Staniek said. “This led to a situation where general-purpose APIs stabilized within Qt for Tizen have recently been adopted by the Nemo Mobile project for their Glacier UI, open source variant of Jolla phone’s UI style.”
At the graphical level, Qt for Tizen is one of the first frameworks that fully supports the Wayland display system in Tizen 3.0 IVI, Staniek explains.
“By full support, we mean it's support for custom compositors written by third-parties in Qt,” he says. This support is handy when you consider that airplane infotainment, for example, has differently designed workflows than car systems.
“We’re looking forward to seeing many such integrations in embedded or IVI (In-Vehicle Infotainment) systems,” he said.