Unlike a lot of modern development, embedded development is close to the hardware. It runs on specialized boards, uses custom testing harnesses, requires expensive debugging equipment, and has its own characteristic workflows. That hardware dependency makes embedded development.
The build system for Qt is CMake. Should you use it yourself? What are the benefits of CMake, and how can it help transform your build system? This whitepaper gives you the basic facts so you can take advantage of CMake for building Qt applications.
Today’s system-on-chip processors have a huge array of resources to contribute to your solution: multiple cores and on-board DSPs, graphics engines and display controllers, peripheral support and connectivity interfaces, and more. A new hardware platform entails a costly investment. This is a guide to the many factors to take into account when choosing CPU hardware
While desktop development shares a lot of best practices with other types of software, a few things make it stand apart. Development of an application that sits on a user's desktop, no matter what that consists of, requires a flexible design. Desktop applications are bigger than programs for embedded and IoT and they demand an architecture more complex than server or cloud apps with their tightly controlled environments. Here are some of our best practices for building these complex desktop applications.
In a modern software development process, continuous integration (CI) and continuous deployment (CD) play a vital role. However, implementing CI/CD within an organization can be challenging. Due to the need for customization to align with specific work products and workflows, it often requires some trial and error. To help you minimize needless dead-ends, we’ll share some of our hard-won advice on using and configuring CI/CD systems, as well as explain why you should be using CI/CD if you’re not already.
Andreas Holzammer,
Leon Matthes,
Lieven Hey,
Eystein Stenberg
For consumer apps in app stores, update delivery is straightforward. But many systems—like embedded devices, industrial desktops, and specialized tablets—operate outside these stores. For such applications, developers must design their own robust update delivery mechanism.
One of the most difficult choices when starting any new software project is selecting the programming language and framework your team will use to create it. Should you stick with Qt because it’s the best tool for the job? Should you switch to something using web-based technology or designed explicitly for mobile? The choice of a software stack is a strategic decision. Here is a list of considerations that we use to help customers select a software stack that can stand the test of time, whether that’s Qt or something else.
Supervisory control and data acquisition (SCADA) systems have been responsible for the streamlining of any industry that needs precise and consistent controls. However, the UIs of many SCADA devices look antiquated. Even the non-designers responsible for running the system expect their SCADA human-machine interface (HMIs) to have polish and sophistication. This whitepaper provides a quick overview on why KDAB finds Qt to be an ideal tool for building today’s modern SCADA systems.
Learning to create 3D applications can be an overwhelming task even for seasoned developers because of all the new terminology, visual concepts, and advanced math. To simplify the job, many developers use a framework like Qt 3D, which KDAB developed and contributed to Qt. In this paper, the first of 3 whitepapers, you will learn about the structure of a Qt 3D program – the nature of entities, components, and aspects, and how those are incorporated into the scene graph and frame graph. The Qt 3D Basics series is intended to help developers create highly polished Qt 3D applications, including descriptions of the technology components, the rationale behind their designs, and straightforward examples.
Andrew Hayzen,
Leon Matthes,
Florian Gilcher
While an all-Rust approach works for some systems, most companies have extensive existing C and C++ code. Rust's design, rooted in Mozilla Firefox's development, has always aimed to integrate with these languages. By consulting Rust experts, we've developed guidelines for harmoniously blending Rust with C and C++ in various scenarios.
The ability to create a 3D applications is a skillset that is increasingly in demand as it plays a crucial role in advanced UX design, virtual reality, game development, and more. While developing a modern 3D program requires many disparate skills, there are frameworks that help the developer stitch it all together. Qt 3D, developed by KDAB, is one such framework.
Our first Qt 3D whitepaper helped us understand the structure of a Qt 3D program - the nature of the entities, components and aspects, in the scene graph and frame graph. This paper shows how to incorporate those elements into a functioning program by examining how to receive user input and how to animate objects in a scene.
Giuseppe D’Angelo,
Paul Lemire
Parts One and Two of our three part Qt 3D series focused on drawing a 3D model and accepting user input, which are necessary building blocks of 3D applications. For the last part, we’ll look at how to use Qt 3D and frame graphs to create some really sophisticated looking graphics, including how to implement multi-pass rendering.
There are more languages, frameworks and libraries available than ever before, with many of them free or nearly so. But every new tool comes at a cost. In this whitepaper, Kevin Krammer discusses the many benefits to be had from choosing Qt, but also evaluates alternatives to help you decide what's right for you.
Industry giants in many fields have been toppled repeatedly by Silicon Valley start-ups and game-changing innovations. When a software-savvy competitor enters your market, they provide new benefits that win over your customers. That leaves you in a game of catch-up to regain market share and re-establish your brand. How can you avoid your company being upstaged by an upstart?
At KDAB, we’ve fine-tuned the migration process over more than 15 years, successfully migrating software from a wide variety of frameworks – with the majority migrating to Qt. Based on our experience, we know that regardless of the framework, operating system, or language, all migrations share common steps that ensure success and have common pitfalls that derail the best of efforts.
This whitepaper distills our expertise in a short but detailed guide to help you effectively evaluate whether a migration makes sense for your current system, and to help you outline and execute your own.
Physically based rendering (PBR) emulates the interaction between light and materials and is a trend in real-time rendering. It offers developers more realistic computer generated imagery and is fast becoming a standard in the gaming world.
This paper, written in 2016 by Dr Sean Harmer, offers an exhilarating ten-minute guide to the essentials.
Vulkan is a powerful new 3D graphics API from the Khronos Group, the same consortium that developed its spiritual predecessor, OpenGL and other related standards. Like OpenGL, Vulkan targets high-performance real-time 3D graphics applications such as games and interactive media, but offers higher performance and lower CPU usage, much like Direct3D 12 and Metal.
This whitepaper, written in 2016 by Dr Sean Harmer, offers a fascinating quick-start primer on the nine things you need to know about this shiny new API.
Ivan Čukić,
Matthias Kalle Dalheimer
The C++ programming language is used for operating systems, web browsers, games, embedded software, autonomous cars, medical technology, and many other applications. In 2020, major companies such as Facebook, Google, Amazon, and many others relied on C++ to run their data centers, and likely they still do.
Since its inception over four decades ago, C++ has expanded many times with performance, efficiency, and flexibility of use as its main design highlights.
When C++20 became generally available in December 2020, we talked to a panel of C++ experts, evangelists, and devotees from both sides of the pond to understand a little more about C++ – its current position in the development community, its history, and its future. Much of what we learnt then is still relevant today.
Read about the privacy policy of KDAB.