Het LeanQt-project is begonnen met de ontwikkeling van een afgeslankte tak van Qt 5, gericht op het vereenvoudigen van de bouw uit broncode en de integratie met applicaties. LeanQt wordt ontwikkeld door Rochus Keller, de auteur van de compiler en de ontwikkelomgeving voor de Oberon-taal, gekoppeld aan Qt 5, met als doel de compilatie van zijn product te vereenvoudigen met een minimum aan afhankelijkheden, maar met behoud van ondersteuning voor de actuele platforms. De code blijft zich ontwikkelen onder de GPLv3-, LGPLv2.1- en LGPLv3-licenties.
De laatste jaren is er een trend waarneembaar naar de opschaling van Qt, complicatie en het opbouwen van controversiƫle functionaliteit, waarbij de installatie van binaire builds vereist dat je je registreert op de website van een commercieel bedrijf en meer dan een gigabyte aan gegevens downloadt. LeanQt doet een poging om een lichtere variant van Qt 5.6.3 te creƫren, ontdaan van alle overbodige elementen en structureel herwerkt. Voor de bouw wordt in plaats van qmake een eigen bouwsysteem, BUSY, gebruikt. Er zijn extra opties aangeboden om verschillende sleutelcomponenten optioneel in of uit te schakelen tijdens de bouw.
De volgende mogelijkheden van Qt worden ondersteund:
- Byte-arrays, strings, unicode.
- Lokalisatie.
- Collecties, impliciete gegevensdeling.
- Werken met datums, tijden en tijdzones.
- Type variant en metatypen.
- Coderingen: utf, simple, latin.
- Abstractie van in-/uitvoerapparaten.
- Bestandsengine.
- Tekststromen en gegevensstromen.
- Reguliere expressies.
- Loggen.
- Hashes md5 en sha1.
- Geometrische primitieven, json en xml.
- rcc (resource compiler).
- Multithreading.
- Mogelijkheid om te bouwen voor Linux, Windows en macOS.
Onder de nabije plannen: ondersteuning voor plugins, basisobjecten, metatypen en gebeurtenissen, modules QtNetwork en QtXml.
Afstandelijke plannen: modules QtGui en QtWidgets, afdrukken, parallelisering van operaties, ondersteuning voor seriƫle poorten.
Er zullen geen ondersteuning zijn voor: qmake, State Machine framework, geavanceerde coderingen, animatie, multimedia, D-Bus, SQL, SVG, NFC, Bluetooth, webengine, testlib, scripting en QML. Van de platforms is besloten om iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks en Haiku niet te ondersteunen.
Bron: opennet.ru
