Projekt LeanQt rozpoczął rozwój uproszczonej gałęzi Qt 5, mającej na celu uproszczenie kompilacji z kodu źródłowego i integracji z aplikacjami. LeanQt rozwija Rochus Keller, autor kompilatora i środowiska programistycznego dla języka Oberon, powiązanego z Qt 5, w celu uproszczenia kompilacji swojego produktu z minimalną liczbą zależności, przy jednoczesnym zachowaniu wsparcia dla aktualnych platform. Kod nadal rozwija się na licencjach GPLv3, LGPLv2.1 i LGPLv3.
Zauważono, że w ostatnich latach istnieje tendencja do rozbudowy Qt, nadmiernego komplikowania i obciążania kontrowersyjną funkcjonalnością, a instalacja wersji binarnych wymaga rejestracji na stronie firmy komercyjnej i pobrania ponad gigabajt danych. W LeanQt podjęto próbę stworzenia lekkiej wersji Qt 5.6.3, oczyszczonej z niepotrzebnych elementów i przemyślanej strukturalnie. Do kompilacji zamiast qmake wykorzystano własny system kompilacji BUSY. Proponowane są dodatkowe opcje umożliwiające opcjonalne włączanie i wyłączanie różnych kluczowych komponentów podczas kompilacji.
Zadeklarowano wsparcie dla następujących możliwości Qt:
- Tablice bajtowe, ciągi, unicode.
- Lokalizacja.
- Kolekcje, niejawne dzielenie danych (Implicit Sharing).
- Praca z datami, czasem i strefami czasowymi.
- Typ variant i metatypy.
- Kodowania: utf, simple, latin.
- Abstrakcja urządzeń wejścia/wyjścia.
- Silnik plików.
- Strumienie tekstowe i strumienie danych.
- Wyrażenia regularne.
- Prowadzenie logów.
- Hashe md5 i sha1.
- Prymitwy geometryczne, json i xml.
- rcc (kompilator zasobów).
- Wielowątkowość.
- Możliwość kompilacji dla Linuxa, Windows i macOS.
Wśród najbliższych planów: wsparcie dla wtyczek, podstawowych obiektów, metatypów i zdarzeń, moduły QtNetwork i QtXml.
Dalsze plany: moduły QtGui i QtWidgets, drukowanie, równoległe operacje, wsparcie dla portu szeregowego.
Nie będą wspierane: qmake, framework State Machine, zaawansowane kodowania, animacja, multimedia, D-Bus, SQL, SVG, NFC, Bluetooth, silnik webowy, testlib, skryptowanie i QML. Z platform postanowiono nie wspierać iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks i Haiku.
Źródło: opennet.ru
