Qt 5 (Thiago Macieira)

Thiago works for Intel; started with KDE (konqueror) and ended up in QtCore and QtDBus.

Qt didn’t have an open repository until 2009.

Principles of an open source project: fairness (don’t discriminate based on skills or affiliation), transparent (discussions and decisions aren’t behind closed doors), inclusive (reach out to newcomers, also non-coders), meritocratic (those who contribute more have more power).

Qt project roles: contributors (no threshold except agree with license), approvers (contributors who have shown their dedication; review system keeps track of your reviews so it’s visible if you make the right decisions), maintainer (final responsible for a module: makes sure that every patch gets a review, feedback to contributor, handle QA issues), chief maintainer (final decisions when necessary, backup in case of no maintainer).

Contributing to Qt: create patch, push to a special branch, review in gerrit, iterate on patch, continuous integration system tests (staging area) and finally commit. Nobody has commit rights, only pass to continuous integration and it will be committed automatically after successful testing (can take up to 6 hours).

Qt5:

  • Not the same pain as Qt3 to Qt4: compatible with Qt4.
  • Increased modularity: split tarballs
  • Ready for the next five years
  • Some features only available on C++11 (performance improvements like move constructors, convience like lambdas, …)
  • QtQuick2: simplify building UIs.
  • Graphics fully based on OpenGL(-ES): important difference is not finding out in software if something is visible or not; let the hardware find that out.
  • Qt Platform Architecture: abstraction layer of the platform (OS and machine).
  • Modules: Platforms(wayland, X11, MacOS, Android (under construction), …), QtEssentials (core, networking, UI, …), Tools, Add-ons (XML, printer support, desktop widgets, backend-specific, …)

QtQuick2 basically replaces widgets, but the widgets will stick around for backward compatibility and because some people just want it.

Migration: compatible with very few exceptions; doesn’t require OpenGL.  There are some compilation and behavioural differences, so some applications may break if you compile them with Qt5.

After 5.0: two feature releases per year (May and November).  Complete support for Android, iOS, Win8. Better support for touch interfaces. Improve cross-compilation, embedded images that work out of the box for development.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s