You can subscribe to our newsletter too!
Meeting C++ Newsletter - July 2013
this summer newsletter will focus on the release of boost 1.54 and Qt 5.1, as at the beginning of the month both have been released. Also a short reminder, that there are still early bird tickets avaiable for a few more days, safe 40 € till Sunday on your ticket!
With the release of boost 1.54 three new libraries have come to boost:
There is a couple of bugfixes, the full changes are listed here. There are also 4 patches listed for log, thread, date_time and coroutine. A short look at the new libraries, my new tool boost dependency Analyzer allows to create dependency graphs for each of them. Please note that shown are the max dependencies, everything basically that is used in the library, your usecase might have much less dependencies.
For sometime in review, boost log has evolved into a fully featured logging library offering support for many different ways of logging. It makes also use of many boost libraries, so that it has the most dependencies for the new libraries:
With tti a new library for type traits introspection has become a member to boost:
TTI is a library which provides the ability to introspect by name the elements of a type at compile time.
The library has only 5 dependencies, the dependency to config is quite common in boost, as its a central place for macros and general configuration:
The thrid libray is type_erasure, a library that allows you work on specified type concepts, erasing the type behind. type_erasure allows you to find solutions where a virtual template method would fit (there are no virtual template methods in C++), one of the examples is a typesafe printf. Regarding the dependencies, its not as big as log, but type_erasure makes quite a lot of use of boost:
About a week after the release of boost 1.54, also Qt 5.1 was released. This release brings a lot more then just the planned bug fixes to Qt. First, there is now a Technical Preview available for Android and iOS, two important mobile platforms. There is an upcoming blogseries about Qt on Android. Qt 5.1 also brings a few new things to Qt:
- nesting Qt Quick windows into QWidget based Applications
- Qt Sensors are not included as a module
- Qt Quick offers now layouts and desktop controls
- Qt Quick gets the first two standard dialogs
- better support for static linking.
The coming support for Android and iOS is very exciting, still both platforms have their drawbacks, where Qt has to be build around. Android often needs to do things over JNI, as the platform is java based, on iOS Qt Quick2 does not work, as an application is not allowed to have its own JIT. Some of these drawbacks will be resolved with future versions of Qt.
A few words about Qt5 in general, I have been developing in Qt5 all year, its now with Qt5.1 stable enough to be used in production. Deploying applications with Qt5 has become a bit more complicated, as dependencies to ICU and other libraries as the platform plugin are new now. For windows that can easily make a few more mb as it was with Qt4.x. I have been teaching Qt for 3 weeks in July, and also written a video recorder and the boost dependency analysis in Qt5, QWidgets are still a very good supported and mature UI Technology. With Qt5.1 Qt Quick for Desktop is worth a look, as it has now controls and layouts. The missing standard dialogs are still a drawback imho. But QtQuick should always only be the UI Layer, the logic should reside in Models and C++ classes.
Eric Niebler exploring F-Algebra for C++ & proto
Drawing Linex & Polylines with ImageMagick
C++11 & C++14 features in Visual Studio 2013 Preview