My name is Alexander Fagrell and I'm a software developer and have several years of experience using modern C++ and Qt. With this blog, I aim to deepen my knowledge by exploring the ins and outs of the Qt framework and to share my findings and conclusions. I encourage you to engage in the comment system and contribute by sharing your experience, knowledge and thoughts.
In addition to software development, I enjoy coaching and mentoring people, excercising at the gym and travelling. I'm from Stockholm, Sweden, but live and work in London, UK, for a security company as a lead software developer.
Qt is a collection of many C++ libraries and tools which drastically reduce the complexity of creating applications (especially GUI applications) on a range of different platforms. Supported platforms include Linux, macOS, Windows, VxWorks, QNX, Android, iOS, BlackBerry, and Sailfish OS among others. Not only is Qt very impressive for its GUI toolkit, but it also excels in other areas for cross-platform development such as networking, databases, OpenGL etc.
In addition to C++, Qt includes an amazing extension language called QML. QML is part of Qt Quick, and is a declarative object description language to create dynamic and fluid UIs on mobile, embedded and desktop systems. QML also integrates JavaScript applications which enables developers to write applications in QML alone. However, the preferred approach is to use QML for the frontend and C++ for the backend.
'What is Qt' on qt.io:Qt is much more than just a cross-platform SDK - it's a technology strategy that lets you quickly and cost-effectively design, develop, deploy, and maintain software while delivering a seamless user experience across all devices.
For more information have a look at the about page on Qt's wiki
Clean code is code that's easy to understand, easy to adjust and easy to scale. I first read about the concept in the book "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin (aka Uncle Bob), which I can't recommend enough. Since reading the book, I've seen the term used by several other authors to describe code that is designed for more than just to function. Clean Code is used to describe code that's considered good and modern.
The aim of this blog is to explore how to write Clean Qt Code. In order to gain a better understanding of Qt and to avoid misconceptions, a blog post might focus on Qt's inner work. A another post might cover typical usage and to explore best practices or guidelines. Some others will consist of tutorials on smaller projects for the different Qt technologies.