O projeto LeanQt iniciou o desenvolvimento de um ramo reduzido do Qt 5, voltado para simplificar a compilação a partir do código-fonte e a integração com aplicações. LeanQt é desenvolvido por Rochus Keller, autor do compilador e ambiente de desenvolvimento para a linguagem Oberon, que utiliza o Qt 5, com o objetivo de facilitar a compilação de seu produto com o mínimo de dependências, mas mantendo o suporte às plataformas atuais. O código continua a ser desenvolvido sob as licenças GPLv3, LGPLv2.1 e LGPLv3.
Observa-se que nos últimos anos tem havido uma tendência à inchaço do Qt, complicação excessiva e adição de funcionalidades controversas, e a instalação de builds binários exige registro no site da empresa comercial e o download de mais de um gigabyte de dados. No LeanQt, foi feita uma tentativa de criar uma versão leve do Qt 5.6.3, limpa de tudo desnecessário e reestruturada. Para a compilação, em vez de qmake, foi utilizada um sistema de compilação próprio chamado BUSY. Foram propostas opções adicionais que permitem incluir ou excluir opcionalmente vários componentes chave durante a compilação.
O suporte a seguintes funcionalidades do Qt foi anunciado:
- Arrays de bytes, strings, unicode.
- Localização.
- Coleções, compartilhamento implícito de dados.
- Trabalho com datas, horas e fusos horários.
- Tipo variant e metatipos.
- Codificações: utf, simple, latin.
- Abstração de dispositivos de entrada/saída.
- Engine de arquivos.
- Fluxos de texto e fluxos de dados.
- Expressões regulares.
- Registro de logs.
- Hashes md5 e sha1.
- Primitivos geométricos, json e xml.
- rcc (compilador de recursos).
- Multithreading.
- Possibilidade de compilação para Linux, Windows e macOS.
Entre os planos mais próximos: suporte a plugins, objetos básicos, metatipos e eventos, módulos QtNetwork e QtXml.
Planos distantes: módulos QtGui e QtWidgets, impressão, paralelização de operações, suporte a porta serial.
Não serão suportados: qmake, framework State Machine, codificações avançadas, animação, multimídia, D-Bus, SQL, SVG, NFC, Bluetooth, engine web, testlib, scripting e QML. Das plataformas, decidiram não suportar iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks e Haiku.
Fonte: opennet.ru
