Matthias Kalle Dalheimer,
Kevin Funk
Porting legacy code from Motif, MFC, Photon, or a previous Qt version to a more recent Qt version can be a big challenge. There are a number of pitfalls in a large porting effort that can significantly increase time, cost, and complexity, leading to risk of project derailment. You may have languages, frameworks, and windowing […]
KDAB is proud to announce that for the first time ever we will be present at Embedded Technology outside of Tokyo in Japan. Every year more than 25000 visitors attend over 3 days! The event takes place in the Pacifico Yokohama exhibition center and focuses on Embedded AI, IoT Wireless Technology, Smart Sensing and Safety […]
KDAB has unique experience in porting the code base for toolkits like Qt 3, Qt 4, Motif, Java, Tcl, GTK, .NET, MFC, and Photon to Qt 5. Porting legacy GUI toolkits to Qt 5 is a job where proven experience saves a lot of time. In this presentation we highlight the main problems facing developers […]
An existing code base can be a great asset, but it can also be a liability. Technical debt tends to build up over time, eventually reaching the point where something needs to be done. KDAB has unique experience in migrations as well as specialized tools and in-depth knowledge from migration projects in different industries with […]
Using OpenGL code with Qt is a long love story... long enough that there might be skeletons in the closet. Indeed, the OpenGL code of your Qt application could have been written before the modernization of the OpenGL API to exploit better GPUs. In this talk, we will walk through a technique to help refactor […]
Q_FOREACH (or the alternative form, foreach) will be deprecated soon, probably in Qt 5.9. Starting with Qt 5.7, you can use the QT_NO_FOREACH define to make sure that your code does not depend on Q_FOREACH. You may have wondered what all the fuss is about. Why is there a continuous stream of commits going to […]
Andreas Holzammer,
Andy Gryc
Microsoft Windows has a long history of embedded operating systems going back to 1996, branded as Windows Embedded Compact, Windows Embedded CE, Windows CE, Windows Compact, Windows Phone, Windows Runtime, and an assortment of others. One of these fine platforms might even form the basis of your embedded product. Trouble is, with the shiny new […]
Abstract: It is easier and easier to create a proper QtQuick application from scratch. But is it really that simple to bring existing code in the QtQuick structure? It can get especially challenging for a large project which collected C++ collected over more than 15 years. What can we do of all that code? Temptation […]
http://www.kdab.com/wp-content/uploads/stories/photon_migration.mp4 The Photon to Qt migration framework helps you control the complexity and cost of the migration project. The framework consists of the following parts: a partial implementation of the Photon API in Qt, covering the most important use cases a library of Qt widgets as slot-in replacements for Photon widgets that do not exist […]
One of the useful outcomes the work Bertjan did on tooling for program understanding and refactoring is a list of considerations we can use to assess the suitability of new tools. Requirements for a porting system Section 1.3.5 of his thesis details the requirements for a similar porting system: GR1: Scalability The qt4to5 porting tool […]
Like many companies in tech, KDAB allows employees some time to spend on 'personal education', which must be somewhat job-related, but not necessarily Qt-related, and which must be reported on to colleagues. Sometimes that involves reading a book or investigating a new technology, or writing some new interesting tooling, as was the birth of GammaRay. […]
Porting from Qt 4 to Qt 5 is intentionally easy. There has been a conscious effort throughout the development of Qt 5 so far to maintain source compatibility compared to Qt 4. Unlike the port from Qt 3 to Qt 4, central classes have not experienced large API cleanups, and there are few new frameworks […]
Maximize the value of your project investments in legacy GUI toolkits with KDAB's proven expertise in one-off migrations. With extensive experience in code migration, we've developed comprehensive tooling and can provide you with recommendations on modernizing your code base.
Updating outdated systems through modernizing UI technologies can drive user satisfaction. KDAB is your partner in taking it to the next level.
Technical debt is a growing but often ignored problem across all industries. Elevate your aging software to meet the dynamic needs of the future.
At KDAB, we can help you modernize your application and make it perform on multiple screens. We have in-depth expertise in migrating MFC to Qt and Win32 to Qt. We are experienced in getting your Windows application to run on a Mac or a mobile device with the native look and feel of those platforms.
Leverage KDAB's extensive experience with QNX to enhance your safety-critical projects across various industries, including automotive and medical systems. This page discusses our capabilities in application development, modernizing legacy systems, and optimizing performance on QNX platforms. Discover how KDAB can support your QNX projects with expert integration, profiling, and cross-platform development to ensure robust and modern applications.
KDAB will guide you away from the technical debt of a legacy framework through comprehensive assessments, practical incremental steps, and meticulous risk identification. Our approach ensures migrations are swift, efficient, and secure.
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.