Skip to content

Qt and KDAB at CppCon 2015

For years now I have been watching the video recordings of talks from various C++ conferences across the globe. As a developer, they are an invaluable source of information and inspiration. I have fond memories of watching GoingNative 2012 in a live stream with some colleagues of mine in our office in Berlin. But, over the years, I was always missing something: Qt. Not a single talk at Going Native, CppCon, C++ Now or Meeting C++ targeted Qt specifically.

Sure, Qt has had its own conference with the Qt Developer Days and this year now the Qt World Summit. But Qt is also very much part of the C++ ecosystem and deserves to be represented at the other conferences. It is still in my opinion the best toolkit for native cross platform development. It also continues to evolve and empowers C++ developers to this day, giving them a framework to build modern GUI applications that are visually appealing and maintainable.

The C++ language made a huge leap with C++11 and now C++14. These versions, and the future ones, not only improve the core language itself, enabling us developers to write faster code in a more readable way. No, more importantly, the STL is getting extended, adding long missing features that have been needed for years. Developers used to leverage external libraries, like Boost or Qt, for whatever was missing to build their applications. Now the gap is shrinking between the STL and the other libraries, which is a good thing in my eyes. But there are still lots of areas that are not covered by the STL, nor will they be in the near future.

Qt is here today, bringing you 20 years of experience in writing GUI applications. You want to write a widget-based desktop application for a specific work flow? What about embedding fancy 3D content with OpenGL? Or are you targeting an embedded device with a touch screen and need to deliver a slick UI with smooth animations? Maybe you want to share code with an iOS or Android application? And even when your manager demands support for HTML5 content, Qt is there to help you. And using Qt does not mean you must use it exclusively, you are free to use the STL or Boost or any other library that helps you get your job done.

The above explains my reasoning for handing in a talk about Qt to this years CppCon. I’m very happy to announce that I got accepted. If you want to hear more about the topic above, please attend my talk on Qt: modern user interfaces for C++. It is not going to be as technical as my usual talks about code performance or similar, but I do think it is very important to show the C++ community that Qt is actively embracing the advancements in the language and the STL and that Qt continues to be a highly valuable addition to the C++ ecosystem.

Furthermore, I want to invite anyone attending CppCon this year to chat me up. If you have any questions regarding KDAB, Qt, KDE, or anything related like C++ tooling and performance, then I’m looking forward to talk to you. See you there, I’m super excited!

FacebookTwitterLinkedInEmail

Categories: C++ / KDAB Blogs / KDAB on Qt

created the Massif-Visualizer, heaptrack and hotspot tools now used widely to improve C++ and Qt applications performance. The co-maintainer of the KDevelop IDE, in 2015 he won the KDE Akademy Award for ongoing work in that. Milian has a Masters Degree in Physics and lives in Berlin. He is fluent in English and German.

9 thoughts on “Qt and KDAB at CppCon 2015”

  1. Yes, Qt is not really well presented at those conferences, yet it is not true that no one ever did do a talk about Qt on those conferences:

    At least for Meeting C++ and C++Now have been a few in 2012 and 2013:

    Thiago Maciera did do some Qt Talks at both conferences:
    http://2013.cppnow.org/schedule-table/
    http://meetingcpp.com/index.php/schedule.html

    There have been presentations on Qt at Meeting C++ in 2012 & 2013:
    http://meetingcpp.com/index.php/schedule13.html

    Yet, as I sit in the program committees for C++Now, CppCon and Meeting C++, the point you make is correct, there is very few Qt content submitted to those conferences, some of the Qt talks at Meeting C++ came from KDAB.

    Also, there seems to be a very small share between the attendees of the C++ Conferences and the Qt Events.

    1. Milian Wolff

      Hey Jens,

      you are right, the statement I made above was too broad. But we both seem to agree on the point I wanted to make – Qt is underrepresented!

      See you in Seattle!

  2. Well.. to start. You cannot compare boost to qt. One is header only standard c++ library, the later not even alibrary but a framework. Qt is a framework is either the Qt way or no way 😀
    It is not standard C++: signal slots???
    It is not MODERN ! in fact it is anything but that, it relies on MOC and not on c++11/14 features like async and std::function callbacks etc.
    It has reinvented any wheel imaginable to reinvent 😀
    Last but not least: it is still a licensing mess. yes you can use qt-webkit but only for OSS projects; many diff modules have diff licensing.

    Still QT is great! but you can see c++ is more an incidental to Qt and not qt == c++ !!!
    it is like being surprised why AndroidSDK is not covered on any Java-Con 😀

    1. Milian Wolff

      See, these kind of statements are exactly why I want to do this presentation.

      Qt the UI framework is not what I compare to boost. But Qt contains a lot of helper classes that are also available in Boost. You can mix and match and use whatever you feel more comfortable with. Using Qt does not mean you cannot or should not use Boost, the STL or any other library out there – quite the contrary!

      And are you aware that you can connect any callable to a signal in Qt 5? That works just fine with lambdas or std::function.

      Furthermore, I don’t understand why people keep hating moc – it serves a purpose and so far cannot be replaced by pure C++ – see also http://woboq.com/blog/reflection-in-cpp-and-qt-moc.html. And do note that many big software projects use code generation in some form, the games people most of all. It increases developer productivity and simplifies maintenance. And the cost? It’s integrated transparently into QMake, Cmake and Visual Studio with the help of http://doc.qt.io/vs-addin/.

      Regarding the NIH and reinvention of wheels – that is certainly true. But it’s unfair to make such a claim in hindsight. Many Qt features are available for much longer then they have been available in the C++ standard. And there are plans to streamline Qt in the long run, let’s see how it plays out!

      And the licensing is a necessary evil, and not so bad in my eyes – either you abide to the FOSS licenses, or you get a commercial license and thereby fund future development of Qt, which should be in your interest when you depend on it for your code, no?

    1. Milian Wolff

      Yes, but why do you say it’s a C++11 fork? Current Qt 5 leverages many C++11 features, like atomics, rvalue references, lambdas, constexpr, …

      Anyhow, I’m looking forward to seeing their talk at CppCon and hope to see a better justification for forking an archaic Qt version instead of working together with us upstream in advancing Qt itself. The reasons given so far on the mailing list were far from convincing.

  3. Milian, I agree completely that Qt has been underrepresented at conferences and am excited to see your presentation at CppCon. I look forward to meeting you there.
    Jon

Leave a Reply

Your email address will not be published. Required fields are marked *