Il progetto LeanQt ha avviato lo sviluppo di un ramo semplificato di Qt 5, mirato a semplificare la creazione da sorgente e l'integrazione con le applicazioni. LeanQt è sviluppato da Rochus Keller, l'autore del compilatore e dell'ambiente di sviluppo per il linguaggio Oberon, legato a Qt 5, con l'obiettivo di semplificare la compilazione del proprio prodotto con il minor numero possibile di dipendenze, mantenendo però il supporto per le piattaforme attuali. Il codice continua a essere sviluppato sotto le licenze GPLv3, LGPLv2.1 e LGPLv3.
Si osserva che negli ultimi anni si è assistito a una tendenza all'espansione di Qt, a una sovracomplessità e a un'accumulo di funzionalità discutibili, e l'installazione di versioni binarie richiede la registrazione sul sito della società commerciale e il download di oltre un gigabyte di dati. In LeanQt è stata tentata la creazione di una versione leggera di Qt 5.6.3, ripulita da tutto ciò che è superfluo e ristrutturata. Per la compilazione è stato utilizzato un sistema di build proprietario chiamato BUSY. Sono state proposte opzioni aggiuntive che consentono di attivare o disattivare varie componenti fondamentali durante la compilazione.
È dichiarato il supporto delle seguenti funzionalità di Qt:
- Array di byte, stringhe, unicode.
- Localizzazione.
- Collezioni, condivisione implicita dei dati.
- Gestione delle date, del tempo e dei fusi orari.
- Tipo variant e metatipi.
- Codifiche: utf, simple, latin.
- Astrazione dei dispositivi di input/output.
- Motore di file.
- Flussi di testo e flussi di dati.
- Espressioni regolari.
- Registrazione dei log.
- Hash md5 e sha1.
- Primitivi geometrici, json e xml.
- rcc (compilatore di risorse).
- Multithreading.
- Possibilità di compilazione per Linux, Windows e macOS.
Tra i prossimi obiettivi: supporto per plugin, oggetti base, metatipi e eventi, moduli QtNetwork e QtXml.
Piani futuri: moduli QtGui e QtWidgets, stampa, parallelizzazione delle operazioni, supporto per la porta seriale.
Non saranno supportati: qmake, framework State Machine, codifiche avanzate, animazione, multimedia, D-Bus, SQL, SVG, NFC, Bluetooth, motore web, testlib, scripting e QML. Non si prevede il supporto delle piattaforme iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks e Haiku.
Fonte: opennet.ru
