CppCon 2015: Barbara Geller & Ansel Sermersheim “CopperSpice: A Pure C++ GUI Library'

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


CopperSpice is a collection of cross platform GUI libraries derived from Qt 4.8. Our libraries use current C++11 technology to implement Reflection, without requiring moc (a code generator) or any preprocessing. We will discuss what Reflection is, how this technology can be used, and why it can be difficult to implement.

The focus of this presentation is to show the core implementation of CopperSpice. Source code from CopperSpice will be shown to explain how we implemented Reflection using pure C++11. We will also demonstrate small samples of code which use the CopperSpice libraries.

Technologies covered in this presentation will include templates, variadic templates, and template specialization.

No prior knowledge of CopperSpice or Qt is required. A working knowledge of templates in C++11 would be helpful.

Barbara Geller: I am an independent consultant with over twenty-five years of experience as a programmer and software developer. I have worked with numerous smaller companies developing in-house applications. I have also designed and developed Windows applications for several vertical markets including medical billing, transportation, and construction.

My degree is in Electrical Engineering from Cal Poly Pomona with additional studies in Computer Science.

I am a Co-founder of CopperSpice, a C++ library derived from the existing Qt framework. I designed the Diamond Editor, a cross-platform programmers editor using the CopperSpice libraries. I have programmed in C++, Qt, Visual Objects, Clipper, PHP, and Java.

Ansel Sermersheim: I have been working as a programmer for over fifteen years. My degree is in Computer Science from Cal Poly San Luis Obispo.

Currently I work as a software engineer designing scalable, high performance, multi-threaded network daemons in C++. The daemons I have developed are used at a Tier 1 carrier serving static and live content to customers around the world. I am a Co-founder of CopperSpice, a C++ library derived from the existing Qt 4.8 framework. I have programmed in C++, C, Lisp, Java, and Perl. I am an avid follower of the C++ standard.


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

The claims about Qt being scary because of the CLA are countered by the Free QT agreement with KDE - if Digia sells off or stop releasing open source Qt versions KDE gets the right to redistribute Qt under any license they want.

LrdZanny
Автор

Totally awesome. Looking forward to trying out your conversion utility to see how well it translates my Qt 5.10 project.

friedrichdergroe
Автор

MOC was useless from the beginning, signals/slots in Qt are unnecessarily complex and slow. Proper signal/slot mechanisms could be implemented even before C++11 era. Happy to see a project forked off Qt, which ditches MOC completely. :-)

michal.gawron
Автор

Developing a C++ library that is only compatible with fully compliant c++ 11 compilers while resorting to preprocessor macros seems fishy.
Looking at the forum and GitHub, CopperSpice seems dead or is it an illusion ? Do you have a list of projects using it?

Silmarieni
Автор

it's a bit silly how there's no screenshots of what the UI looks like. Not in their videos. not in the website. And not in their github page. So weird.

KennethKasajian
Автор

I heard MSVC 2015 can work with clang front-end. Can you support MSVC 2015 with clang front-end?

noxmetus
Автор

Never have two people on stage. This is confusing and awkward...

peppybocan
Автор

Why are two people there? They're always stumbling when ping-ponging phrases and it was really pissing me off. It's not talk show, folks. Please stop using that format.

aroundyouaroundme
Автор

C++ Templates generated code is fine. C++ preprocessor generated code is fine. But moc, no... moc generated code is pure evil. ;-)

smokkku
Автор

I personally don't see the point of CopperSpice even if it uses new C++ features.
Difference in execution speed won't matter.
My humble opinion.

EnthusiasticCoder
Автор

I don't think I can trust someone who still uses Windows XP. On a more serious note, I don't really see how CopperSpice solves a problem. It seems to be only a fork based on a dogmatic belief that MOC is bad and you should use templates/macros instead. I'm sorry but I trust the code that MOC generates, the people working on MOC know what they are doing and relying on too many templates can impact your build times on large project. And don't get me started on MACROS.

zentarul