W ramach projektu LeanQt rozpoczęto opracowywanie uproszczonego forka Qt 5, którego celem jest ułatwienie budowania ze źródła i integracji z aplikacjami. LeanQt został opracowany przez Rochusa Kellera, autora kompilatora i środowiska programistycznego dla języka Oberon, powiązanego z Qt 5, w celu uproszczenia kompilacji swojego produktu przy minimalnej liczbie zależności, ale przy zachowaniu wsparcia dla obecnych platform. Kod jest nadal rozwijany na licencjach GPLv3, LGPLv2.1 i LGPLv3.
Należy zauważyć, że w ostatnich latach pojawiła się tendencja, aby Qt był rozdęty, nadmiernie skomplikowany i zarośnięty kontrowersyjną funkcjonalnością, a instalacja zestawów binarnych wymaga rejestracji na stronie internetowej komercyjnej firmy i pobrania ponad gigabajta danych. LeanQt próbuje stworzyć lekką wersję Qt 5.6.3, oczyszczoną ze wszystkich niepotrzebnych rzeczy i przeprojektowaną strukturalnie. Do montażu zamiast qmake używany jest autorski system montażu BUSY. Oferowane są dodatkowe opcje, które umożliwiają opcjonalne włączanie i wyłączanie różnych kluczowych komponentów podczas montażu.
Zadeklarowana obsługa następujących funkcji Qt:
- Tablice bajtów, ciągi znaków, Unicode.
- Lokalizacja.
- Kolekcje, ukryte udostępnianie danych (implicit Sharing).
- Praca z datami, godzinami i strefami czasowymi.
- Typ wariantu i metatypy.
- Kodowanie: utf, proste, łacińskie.
- Abstrakcja urządzeń wejścia/wyjścia.
- Silnik plików.
- Strumienie tekstu i strumienie danych.
- Wyrażenia regularne.
- Logowanie.
- Hashuje md5 i sha1.
- Elementy geometryczne, json i xml.
- rcc (kompilator zasobów).
- Wielowątkowość.
- Możliwość zbudowania dla systemów Linux, Windows i macOS.
Wśród najbliższych planów: obsługa wtyczek, podstawowych obiektów, metatypów i zdarzeń, modułów QtNetwork i QtXml.
Plany odległe: moduły QtGui i QtWidgets, drukowanie, równoległość operacji, obsługa portu szeregowego.
Następujące elementy nie będą obsługiwane: qmake, framework State Machine, rozszerzone kodowanie, animacja, multimedia, D-Bus, SQL, SVG, NFC, Bluetooth, silnik sieciowy, testlib, skrypty i QML. Spośród platform zdecydowano nie obsługiwać iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks i Haiku.
Źródło: opennet.ru