Das LeanQt-Projekt hat die Entwicklung eines abgespeckten Forks von Qt 5 begonnen, der darauf abzielt, den Aufbau aus Quelltexten und die Integration mit Anwendungen zu vereinfachen. LeanQt wird von Rochus Keller entwickelt, dem Autor eines Compilers und einer Entwicklungsumgebung fĂŒr die Sprache Oberon, die an Qt 5 gebunden sind, mit dem Ziel, die Kompilierung seines Produkts mit minimalen AbhĂ€ngigkeiten zu vereinfachen, dabei jedoch die UnterstĂŒtzung aktueller Plattformen zu erhalten. Der Code entwickelt sich weiterhin unter den Lizenzen GPLv3, LGPLv2.1 und LGPLv3.
Es wird darauf hingewiesen, dass in den letzten Jahren eine Tendenz zur AufblĂ€hung von Qt, zur ĂberkomplexitĂ€t und zur Anreicherung mit fragwĂŒrdigen Funktionen zu beobachten ist. Die Installation von BinĂ€rversionen erfordert eine Registrierung auf der Website des kommerziellen Unternehmens und den Download von ĂŒber einem Gigabyte an Daten. Mit LeanQt wurde der Versuch unternommen, eine leichte Variante von Qt 5.6.3 zu schaffen, die von allem ĂberflĂŒssigen befreit und strukturell umgestaltet ist. FĂŒr die Erstellung wird anstelle von qmake ein eigenes Build-System namens BUSY verwendet. Es wurden zusĂ€tzliche Optionen vorgeschlagen, mit denen verschiedene SchlĂŒsselkomponenten bei der Erstellung optional ein- und ausgeschaltet werden können.
Folgende FunktionalitĂ€ten von Qt werden unterstĂŒtzt:
- Byte-Arrays, Strings, Unicode.
- Lokalisierung.
- Collections, implizite Datenfreigabe (Implicit Sharing).
- Arbeiten mit Daten, Zeit und Zeitzonen.
- Der Typ variant und Metatypen.
- Kodierungen: utf, simple, latin.
- Abstraktion von Ein-/AusgabegerÀten.
- Dateimotor.
- Textströme und Datenströme.
- RegulĂ€re AusdrĂŒcke.
- Protokollierung.
- Hashes md5 und sha1.
- Geometrische Primitiven, json und xml.
- rcc (Resource Compiler).
- Multithreading.
- Möglichkeit der Erstellung fĂŒr Linux, Windows und macOS.
Zu den nahen PlĂ€nen gehören: UnterstĂŒtzung fĂŒr Plugins, Basiselemente, Metatypen und Ereignisse, Module QtNetwork und QtXml.
Fernere PlĂ€ne: Module QtGui und QtWidgets, Druckausgabe, Parallelisierung von Operationen, UnterstĂŒtzung fĂŒr serielle Schnittstellen.
Nicht unterstĂŒtzt werden: qmake, das State Machine Framework, erweiterte Kodierungen, Animation, Multimedia, D-Bus, SQL, SVG, NFC, Bluetooth, Web-Engine, testlib, Scripting und QML. Es wurde beschlossen, iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks und Haiku nicht zu unterstĂŒtzen.
Quelle: opennet.ru
