qt-creator

Qt – Software development made smater …behaupten sie

Von am 19.06.2018

Wie so viele andere Framework Landingpages, verspricht auch die von Qt, das Programmieren von Software zu revolutionieren. Während die beschriebene Funktionalität vielversprechend aussieht, legt sich für mich gleich zu Beginn ein Stein in den Weg: Qt basiert auf C++ (Spoiler: es gibt auch für Javascript Developer eine Lösung ;).

Aber fangen wir ganz vorne an:

Qt ist eine cross-platform application development Framework für Desktop, embedded oder mobile. Dabei wird eine Reihe an verschiedenen Betriebssystemen unterstützt: Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS und mehr. Qt an sich, ist keine eigene Programmiersprache sondern ein in C++ geschriebenes Framework. Mit Hilfe eines preprocessors (MOC = Meta-Object Compiler) wird die C++ Sprache um diverse Features erweitert. Qt hat sein eigenes Build-System namens qmake, mit dessen Hilfe nativer Code generiert werden kann, ähnlich wie Visual Studio oder xCode. Auch wenn Qt prinzipiell in C++ geschrieben wird, können dank diverser Libraries auch andere Programmiersprachen verwendet werden wie Python, Rust oder Javascript.

Während meiner Recherche konnte ich folgende Vor- und Nachteile von aktiven Qt Nutzern zusammentragen:

Pros:

  1. Qt is mature and has been vetted by major players e.g. Wolfram Mathematica has been written on top of Qt since version 7.
  2. It is well-designed for starters as much as for pros
  3. Huge user base. Easy to get answers to questions.
  4. Excellent documentation.
  5. It is stable on all major platforms.
  6. It is more than a GUI framework. It provides a cross-platform way of doing a lot of stuff that desktop applications often need to do.

Cons:

  1. The fact that it uses a metaobject compiler adds a bit of complexity to the build process and is just kind of ugly on an aesthetic level. People who write C++ like C++. They don’t want to write to some third-party extension to C++; that is,  think of the vitriol we see when Microsoft designs frameworks like this.
  2. Because of the metaobject thing and other issues, it is a lot easier to develop Qt applications using QtCreator but you might not want to because you might happen to like your normal C++ development environment.
  3. Qt tends to re-invent the wheel instead of relying on the standard library; e.g., do we really need yet another string class? I understand this is mostly for historical reasons but it is annoying nonetheless.
  4. The direction that its developers are taking Qt may be away from C++.  It just seems like all the recent work is about the javascripty/Qt Quick/QML stuff and not about the core library.

Besonders das Bauen von GUIs ist in Qt sehr einfach. Hierfür bietet einem Qt mehrere Möglichkeiten: per Drag and Drop, per QML oder einfacher Webtechnologien wie HTML und CSS. Selten ist es möglich so wenig Code für so viele verschiedene Plattformen zu schreiben.

 

 

Homepage von Qt: https://www.qt.io/

 

 

The comments are closed.