This post of the Felgo 3.7.0 series highlights the Felgo tooling improvements that come with the latest update. The QML Web Editor features a new WebAssembly Live Preview and you can now use Felgo Cloud Builds to build Qt projects for desktop like you are used to for Android or iOS. Finally, the new release also brings a lot of improvements for QML Hot Reload for Felgo Live.
Apart from these tooling improvements, Felgo 3.7.0 is packed with lots of new features as well. We already covered them in the previous posts of this series:
- Bluetooth LE (Low Energy) with QML, Apple Sign In, Secure Keychain Storage
Felgo 3.7.0 brings many components, features, improvements and fixes to the SDK. Most prominently, you can now use Bluetooth LE from QML in your Qt and Felgo apps. - The New Developer App and the Best Examples and Demos for You
With the new Felgo Developer App, you get a mighty tool to support you during development. Explore and run a big variety of components with usage examples, find demo applications that match your desired features, and access the source code or documentation to see how it all works. - Native App Integration: Integrate Felgo and Qt with Existing Android and iOS Applications
Felgo allows you to create powerful standalone apps on multiple platforms. With Native App Integration, it is also possible to embed Qt/Felgo views into existing native apps for iOS and Android. This makes mixing native technologies with QML or porting applications much easier.
Build Your Qt Project in the Cloud for Windows, Mac & Linux Desktop
After developing an application you want to build and release it for a variety of target platforms. This is a major undertaking, as you need to set up and maintain a build environment for each platform.
As an application grows, you usually have to create a lot of major or minor builds for testing and new releases. Regardless of the target platforms, Felgo Cloud Builds simplifies this process for any Qt or Felgo project.
In addition to platforms like Android and iOS, Felgo Cloud Builds now also builds for Windows, macOS and Linux Desktop - with a central and stable build environment.
Felgo Cloud Builds compiles and packages your Qt or Felgo project for all chosen platforms at once. For each build target, you get a .zip archive that contains your desktop app with a ready-to-use executable. The windeployqt and macdeployqt tools are already applied, so you don’t need to worry about runtime dependencies anymore.
Notarization: Get Friends with SmartScreen on Windows and Gatekeeper on macOS
Modern operating systems like Windows or macOS all include a so-called “Gatekeeper”. It is a piece of technology that protects users from running malicious software on their computer.
SmartScreen, the gatekeeper on Windows, stops an application from an unidentified source and shows a warning dialog when you are about to open it.
You can still start the application but it is not obvious how to get around this dialog at first glance. Also, most users will not run an application that the operating system considers malicious and insecure.
The gatekeeper software of the latest macOS versions is even more restrictive, as it blocks unsigned applications without exception. Only notarized applications pass the security check. This means that they have to be signed and whitelisted by Apple. SmartScreen implements a similar process. It will not interfere with signed applications that are known by the servers.
To prevent errors and code-sign your binaries, you can enable and configure signing in the build settings of the desktop targets.
This is an important step when you publish your application, and Felgo Cloud Builds can do it for you.
Git SSH Key Generation, Apple Distribution Certificates and More
Along with the desktop support, there have been many more improvements to Cloud Builds:
- Automatic Git SSH Key Generation: To make the project setup easier, Cloud Builds can now automatically generate an SSH Key you can copy to e.g. GitHub or GitLab. You do not require to create own access keys for integrating your repository then.
- Support for Apple Distribution Certificates: The update brings major improvements to the iOS certificate management and signing. In addition to iOS Distribution certificates, Apple Distribution certificates are now supported as well. The log output also gives more insights into possible signing configuration issues. You get more information about the certificate and profiles, and incorrect credentials are detected and reported before attempting to build and sign the app. This saves a lot of time until the point where you get your first build up and running.
- Improved UI: Along with the changes to include the new build targets, the Cloud Builds UI got brushed up in general. For example, you can now expand or collapse the list of Build Jobs for a project to toggle the Job Details.
- Stability and Performance Improvements: What is an update without “performance improvements” nowadays? ;-) The latest version comes with many fixes under the hood. The overall performance for parallel builds with many target platforms was improved as well.
Webinar: CI/CD for Qt with Felgo Cloud Builds - Mobile, Desktop and Embedded
New Live Preview with the Online QML Web Editor
Felgo for WebAssembly (WASM) allows execution of Qt/Felgo apps on all compatible browsers. Built on top of this, the Felgo QML Web Editor is now equipped with a Live Preview to see and run QML code snippets directly in your browser.
The Web Preview is a great tool to support you during development. When exploring the Felgo documentation and components, you can open an example in the Web Editor to test and preview the code:
import Felgo 3.0
App {
Page {
AppText {
text: "Hello World"
anchors.centerIn: parent
}
}
}
Besides the Web preview, you can also install the Felgo Developer App for iOS or Android and test the code from the Web Editor on a real device. In case you missed it from our previous blog post: The Felgo Dev App also includes more than 20 app demos that you can browse and run on your phone.
All the examples and demos are available with the web version of the Felgo Developer App as well. You can browse all Felgo and Qt QML components and run the examples right from within your browser:
Improvements to QML Hot Reload with Felgo Live
The latest update also adds several improvements to the Felgo Live Server and QML Hot Reload:
Felgo 3.7.0 includes the following changes:
- Optimized transfer of source-code changes. Especially for bigger projects, this speeds up every single reload after saving a source-code change.
- Improved handling of log output in the Live Server. The Live Server now handles bigger amounts of log output more efficiently.
- The UI of Felgo Live Server is more responsive now. Especially for big projects with large files, the initial synchronization is a lot faster now.
- Visual improvements to Live Server controls and quick access to open the Dev App for browsing component examples and app demos.
Learn More about Felgo Tooling and Plugins with QmlBook
The QmlBook is a great learning resource to improve your QML skills. In addition to language details and best practices, it covers all important components and features you need for developing apps with Qt Quick. In case you are just getting started with Felgo, you will find a full introduction to the Felgo SDK in chapter 8.
For details on Felgo tooling additions like QML Hot Reload or Cloud Builds, you can visit chapter 19 of the online book. Learn where to find the tools, what they do, and the advantages of using them. For example, if your project requires additional C++ code or compilation of native libraries, you can find the steps to build a custom live client for your application.
Next in the Series: Felgo Cloud IDE - Develop in your Browser!
The new Web Editor with Live Preview and the Developer App are great tools to support your development. But this is only the beginning and we’ve saved the biggest addition to the Felgo tooling for last. If you paid attention to previous posts of the 3.7.0 series, you might have heard of it already: The Cloud IDE.
It is a full-fledged development environment for Qt and QML right in your browser. Similar to the Web Editor, you get a live preview of your app using WebAssembly. But the Cloud IDE also offers auto-completion for components, allows quick-access to the documentation and integrates perfectly with Felgo Live.
As it is powered by GitLab, you get full Git integration to collaborate on projects and develop your application. You can also take advantage of project management capabilities, issue tracking and more. All from within your browser, without installing any local development tools at all. You can find more info on how to use the Felgo Cloud IDE in the documentation.
This new highlight will revolutionize the way you develop and thus deserves it’s very own blog post. Stay tuned!
More Posts Like This
Release 3.7.0: Bluetooth LE (Low Energy) with QML, Apple Sign In, Secure Keychain Storage
Release 3.6.0: Modal Dialogs and iOS Storyboard Support for Qt & Felgo
Release 3.5.0: Run your Qt and Felgo Apps in the Browser with WebAssembly (WASM)