Better_Software_Header_Mobile Better_Software_Header_Web

Find what you need - explore useful information and developer resources

Areas of Interest

Searching…

40 results

KDAB and Migrations

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.

The most challenging decision you’ll make when creating your first embedded Linux device is about the hardware. While you can do a software upgrade mid-development without massive disruption, making changes in hardware development comes at a much higher cost. So, you must make some critical decisions upfront about which CPU, board, and peripherals you want to use in your embedded Linux device. This whitepaper examines the numerous planning considerations that go into choosing hardware to help you expedite your development process.

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

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.

Modernizing Scada HMIs

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.

The first module in a whitepaper series on designing your first embedded device; it covers the beginning and ending of the product development process. At the onset of a new project are a handful of critical choices that shape and constrain every other decision down the line. Similar “up front” decisions around your expected customer experience influence your ability to update or change your product after it’s already in the customer’s hands. These decisions frame the entire development process.

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.

Deciding on the various software components in your stack is a crucial step when creating your first embedded Linux device. You want to build a stack that meets your objectives now and brings continued value in the future. However, there are so many tools you can combine to build and maintain a successful product it can be challenging to know where to start. This whitepaper examines your choices for the entire software stack, from the OS to the application, and gives you things to consider at every step.

Before creating your first embedded Linux device, you need to determine how you want to build your software. After all, the tools and development processes for embedded Linux may be quite different from what you’re used to with smaller microcontroller-based or bare-metal systems. If you want a well-designed, easy-to-maintain, and cost-effective solution, take the time to research your options and keep in mind the following key considerations.

Qt 3D Basics - Part 1

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.

Qt 3D Basics Part 3 - Advanced Rendering

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.

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.

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?

Upgrading from Qt 4 to Qt 5 may seem straightforward, but potential pitfalls can complicate the process. Despite Qt 5's design to ease transitions, resource constraints and shifting priorities often delay migration from legacy frameworks. As pressure mounts to adopt newer technologies, discover the essential steps to successfully navigate this upgrade and ensure your project thrives!

While some methodologies, workflows, and tools are specific to an individual domain, many are applicable regardless of whether you’re developing a web service, embedded device, mobile app, or desktop application. This whitepaper gives a few general best practices widely applicable to most development projects.

This whitepaper is the first in KDAB's Software Development Best Practices series and covers the basics. Many of the tips will not surprise most professional software engineers, but if you’re just getting started, it can be a handy reminder. If you’re not already doing everything here, you should be.

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.

This paper outlines the sticking points migrating from OpenGL ES to OpenGL SC, with a summary of the code affected, the rationale for each change, and workarounds.

New releases of the C++ language maintain incredibly strong backwards compatibility, making it easy to keep older C++ code working properly as standards march forward. C++11, C++14, and C++17 have transformed the C++ language making it as programmer-friendly as more recent languages but with many essential benefits that continue to make it the best choice for the most demanding software-engineering projects. Modernizing your C++ may be the best way to both improve your team’s efficiency as well as future-proof your software investment.