El proyecto LeanQt ha comenzado el desarrollo de una rama reducida de Qt 5, orientada a simplificar la compilación desde el código fuente y la integración con aplicaciones. LeanQt es desarrollado por Rochus Keller, autor del compilador y entorno de desarrollo para el lenguaje Oberon, basado en Qt 5, con el objetivo de simplificar la compilación de su producto con un número mínimo de dependencias, manteniendo el soporte para plataformas actuales. El código continúa desarrollándose bajo las licencias GPLv3, LGPLv2.1 y LGPLv3.
Se ha observado que en los últimos años existe una tendencia al aumento de Qt, a la sobrecomplicación y a la acumulación de funcionalidades controvertidas, además la instalación de las versiones binarias requiere registro en el sitio web de la empresa comercial y la descarga de más de un gigabyte de datos. En LeanQt se ha hecho un esfuerzo por crear una versión ligera de Qt 5.6.3, depurada de todo lo innecesario y reestructurada. Para la compilación, en lugar de qmake se utiliza un sistema de compilación propio, BUSY. Se proponen opciones adicionales que permiten incluir y excluir opcionalmente diversos componentes clave durante la compilación.
Se declara el soporte para las siguientes características de Qt:
- Matrices de bytes, cadenas, unicode.
- Localización.
- Colecciones, separación implícita de datos (Implicit Sharing).
- Trabajo con fechas, horas y zonas horarias.
- Tipo variant y metatipos.
- Codificaciones: utf, simple, latin.
- Abstracción de dispositivos de entrada/salida.
- Motor de archivos.
- Flujos de texto y flujos de datos.
- Expresiones regulares.
- Registro de logs.
- Hashes md5 y sha1.
- Primitivas geométricas, json y xml.
- rcc (compilador de recursos).
- Multihilo.
- Capacidad de compilación para Linux, Windows y macOS.
Los planes más inmediatos incluyen: soporte para plugins, objetos básicos, metatipos y eventos, módulos QtNetwork y QtXml.
Planes a largo plazo: módulos QtGui y QtWidgets, salida de impresión, paralelización de operaciones, soporte para puerto serie.
No se apoyarán: qmake, marco State Machine, codificaciones avanzadas, animación, multimedia, D-Bus, SQL, SVG, NFC, Bluetooth, motor web, testlib, scripting y QML. Se decidió no soportar las plataformas iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks y Haiku.
Fuente: opennet.ru
