Felgo 2.12.0 adds support for Qt 5.9 and the latest Qt Creator 4.3. Qt 5.9 adds many great features like support for gamepads and 3D key frame animations. Qt Creator 4.3 adds a much improved design mode, which allows you to write QML code side-by-side with a visual representation of the code. This allows rapid prototyping of UIs.
Felgo 2.12.0 Improvements
Felgo is now compatible with Qt 5.9 and Qt Creator 4.3, which adds an improved QML Designer. The biggest benefit of the new QML Designer is the new live preview of your QML code. You can have your UI side-by-side with QML code, which allows to further accelerate the development process.
Some of the Felgo components now also support the QML Designer and visual development. The supported components include GameWindow, App, Scene, Page, NavigationStack and also most of the other components are working. With this improvement, you can now adjust component properties with a nice visual editor.
Other improvements of this Felgo release:
- You can use an improved icon-font handling within games and apps and use the latest FontAwesome version 4.7.0 with the IconType component.
- The Friends View now has an improved UI. You can use the Felgo friends system within Felgo Multiplayer to allow users to send friend requests and then show the friends in a separate section of the leaderboard. You can also use this friend system to allow sending messages only between accepted friends to prevent spam in your in-app messages. This improvement is live in the released card game One Card! for iOS and Android.
- With the AppButton::textFont property, you can now access and modify all font properties of the text within AppButton.
- The Component Showcase Demo App configuration for ios/Project-Info.plist now includes the NSContactsUsageDescription entry, which is required for NativeUtils::storeContacts() since iOS 10.
- Use the new Dialog::autoSize property to decide whether the dialog uses a fixed height or a dynamic height based on the Items you add as dialog content.
- Incorrect warning for publish builds about using DEPLOYMENTFOLDERS is no longer displayed when QRC is actually used instead. This is relevant when protecting your source code for published apps.
Qt 5.9 Improvements for Mobile App Development
Qt 5.9 added many improvements and was shipped on time. This indicates that the new CI system The Qt Company is now be using yields great results. These are our favorite Qt 5.9 improvements, with a focus for mobile app or game development:
Qt 3D: Animations, Physics Based Rendering (PBR), Level of Detail
Qt 3D got a lot better with the Qt 5.9 release. These are our highlights:
- You can now use key frame animations! This is an important feature, as it allows you to animate your 3d objects in a dedicated animation tool like Blender or Autodesk Maya, and then import this animation with Qt 3D.
- A Physics Based Rendering (PBR) material is now available in Qt3DExtras.
- A new Level of Detail component allows loading different 3D models based on projected screen size or distance. This enables you to have better performance.
- You can now render Qt Quick 2 scenes to a texture and interact with them in a 3D world.
- 3D text is available in Qt3DExtras:
Improved QML Performance
Qt Location and Positioning
- You can now tilt and rotate maps, both through the APIs and through touch gestures.
- If you want to overlay items to maps this is now easier too.
- On iOS, you can now collect positioning data even when the application is in the background.
- There’s also a new plugin that adds support for Mapbox and both raster and vector tiles, using their OpenGL based map rendering engine:
GamePad Support and More
Qt now supports GamePads which is great for improving controls for games on PC, Android, iOS or tvOS devices. The GamePad support works nicely together with the Felgo TwoAxisController component, which is used in several of the sample games available like our Super Mario like platformer game.
Other improvements like Qt NFC support when running as an Android service or better Qt Charts makes this the best Qt release yet. For a list of all new features in Qt 5.9, see here.
Qt Creator 4.3 Support
The absolute highlight of Qt Creator 4.3 is the new live preview of your QML code in the Qt Quick Designer (alias QML Designer):
It allows editing the QML code side by side with the form editor as a preview. In addition to this preview, you can also use the property editor together with the text editor. Qt Quick Designer will always select the item that currently contains the cursor.
So if you just forgot the name of a property or enum, you can now use the property editor instead. With the improved designer, you can now create UIs seamlessly by mixing QML code and visual editing. This really combines the best of two worlds, because you can now stay in the design mode instead of switching between code and design modes.
Internally, we were using the Code editing mode most of the time. We have now changed our workflow and development process to use the designer more and have already experienced a faster development process. We’d highly recommend you to try out the new design mode, it will save you a lot of hours and makes development with QML even better. 🙂
How to Update Felgo
Test out these new features by following these steps:
- Open the Felgo SDK Maintenance Tool in your Felgo SDK directory.
- Choose “Update components” and finish the update process to get Felgo 2.12.0 as described in the Felgo Update Guide.
- After updating, remove Qt 5.8 from your installed components: Click on “Add or remove Components” and unselect Qt 5.8. Because Felgo is not compatible with Qt 5.8 anymore, it is best to remove these kits.
- When you now start Qt Creator, it automatically detects the kits for Qt 5.9, which you can use to build your Felgo projects.
- To enable one of the new Qt 5.9 kits, click “Projects” on the left side of Qt Creator and enable your desired kit in the section “Build and Run”.
If you haven’t installed Felgo yet, you can do so now with the latest installer from here. Now you can explore all of the new features included in Felgo 2.12.0!
For a complete list of the changes to Felgo with this update, please check out our change log!