CppCon 2015: Milian Wolff 'Modern User Interfaces for C++”

preview_player
Показать описание


The C++ language evolved significantly in the recent past, and so did many frameworks and libraries in the big ecosystem surrounding it.

For twenty years now, Qt is being used on a multitude of platforms to create native looking, compelling graphical user interfaces.

It offers C++ libraries and tools for building desktop, mobile and embedded applications. Qt gives engineers APIs for developing using two dimensional controls, integrating 3D using OpenGL, embedding web content, as well as a new declarative domain-specific language called QML, which is extensible using C++. Qt is also much more than a UI toolkit and provides a multitude of helper libraries for various use-cases, such as localization, database access, XML and JSON parsing and much more.

During this talk, I will give an introduction to Qt and present its capabilities in how it can be utilized to write modern UIs using C++, both in 2D as well as 3D. Additionally, I will show how some of its features, like the integrated web engine or QML, can be leveraged to go beyond C++. While at it, I hope to clear up some outdated misconceptions about Qt and its relationship to standard C++ and the STL as well as Boost and other libraries.

Finally, I will present the KDE Frameworks, an open source collection of high quality, cross platform Qt libraries that are being used by the KDE Software Collection. KDE frameworks are to Qt as Boost is to the STL. Recent development makes it simpler than ever to use these libraries in external applications.

Milian Wolff works as a Software Engineer at KDAB, an expert Qt, C++ and OpenGL consultancy. He contributes to Qt and KDE for several years now. Besides that, improving tooling around C++ development is of huge interest to him: As the co-maintainer of the KDevelop IDE, he is currently integrating Clang there
to replace the handwritten C++ parser and semantic analyzer. Performance of C++ code is very important to him,
and he wrote tools such as Massif-Visualizer and heaptrack to guide developers in finding issues in their code bases.
He holds a Master of Science in physics and is enthusiastic about Free Open Source Software in general and Linux and KDE in particular.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

Is quite strange that a physicist is one of the few who is actually talking about real life usage of C++...
I also appreciated at 20:40 the mention of a real usage of fancy UI

RoyBellingan
Автор

The title "modern User Interfaces" is misleading. The Subject is Qt, not userinterfaces in common.

hpeterh
Автор

32:10 »advanced i18n« — yet no ISO 8601 date format support. While KDE4 did let you configure date and time as flexibly and individually as in OS X, KDE5-Plasma threw all that functionality and configurability away and expected Qt5 and the LC (locale) system to do the rest — a mistake I hope will be corrected soon.

dipi
Автор

This talk is frustrating to listen to. To take just one illustrative example: "A common misconception is that you have to use Qt containers. You don't." He then procedes to explain that you have to use Qt containers, including QList, "which you should never use." It's like there is a perception filter around Qt that warps reality when you get too close to it. If the api returns Qt containers, you have to use Qt containers. I could also talk about QString, or moc, or any number of other serious problems wth Qt that seem to be invisible to some people. It's not about legacy code. It's about a longstanding, continuing disregard for the C++ standard and the rest of the C++ community. And I say this as someone who uses Qt.

RobertJacobson
Автор

Nice non-technical introduction about Qt for those who don't know the framework that well yet.

BartVandewoestyne
Автор

Your chart at 43:00 is very misleading. How about a chart on runtime performance ?

Silmarieni
Автор

Good effort to promote Qt in the C++ community! I don't get why the Qt docs promote the use of QList so much, whereas many people advise not to use it anymore these days...

jeroenarioni
Автор

darn... i thought qt was pronounced Q-T, not cute.

pranoydutta
Автор

Keep as much of your logic separate from your widgets and main app class as possible. I've learned that pretty quickly because I get bogged down in very short order when trying to write even a basic app. Trying to parse through the tangled mass of if/else statements - oh boy!

DrSpooglemon
Автор

I use wxWidgets, it is mature and growing.

tomay
Автор

The "20 Years" of this technology deters me to use this as my UI toolkit

FedJimSmith
Автор

nah cuz why would anyone use qt when imgui is open source

diegcrane
Автор

I've always wondered why nothing from Qt is getting included in the standard while a big chunk of boost is already in there. According to this talk the Qt community is simply doesn't want to propose things. It's really a shame.

ldmnyblzs
Автор

I really like how he outlined when Qt widgets are the preferably way to go instead of Qt Quick namely when you need to display a lot of data on the screen. I cannot imagine a Qt Quick based software for logistics.

rbaleksandar
Автор

The KDE apps are the biggest repesentetive of the QT GUI.

ritchielrez
Автор

There is only one solution for the User Interface Problem, write it with the native toolkits of the platform (especially MacOSX) and abstract your basics in C++, including the data models.

llothar
Автор

One more point to the dislike list: Signals and slots. Ditch them and remove the MOC. Use the modern C++ features instead.

alexanderhugestrand
Автор

Qt - "Cute" toolkit for developers.

joseserra
Автор

11:39 It's called Arabic damn it!

simp-slayer
Автор

Simple. No one likes to write documentation, let alone update it.

kwanarchive