The LeanQt project develops a stripped-down fork of Qt 5

The LeanQt project has begun developing a stripped-down fork of Qt 5 aimed at making it easier to build from source and integrate with applications. LeanQt is developed by Rochus Keller, the author of the compiler and development environment for the Oberon language, tied to Qt 5, in order to simplify the compilation of his product with a minimum number of dependencies, but while maintaining support for current platforms. The code continues to be developed under the GPLv3, LGPLv2.1 and LGPLv3 licenses.

It is noted that in recent years there has been a tendency to bloat Qt, overcomplicate and overgrow with controversial functionality, and installing binary assemblies requires registration on the website of a commercial company and downloading more than a gigabyte of data. LeanQt attempts to create a lightweight version of Qt 5.6.3, stripped of everything superfluous and redesigned structurally. For assembly, instead of qmake, its own build system BUSY is used. Additional options are proposed that allow you to optionally turn on and off various key components during assembly.

Support for the following Qt features is declared:

  • Byte arrays, strings, unicode.
  • Localization.
  • Collections, implicit data sharing (Implicit Sharing).
  • Working with dates, times and time zones.
  • The variant type and metatypes.
  • Encodings: utf, simple, latin.
  • Abstraction of I/O devices.
  • file engine.
  • Text streams and data streams.
  • Regular expressions.
  • Logging.
  • md5 and sha1 hashes.
  • Geometric primitives, json and xml.
  • rcc (resource compiler).
  • Multithreading.
  • Build capability for Linux, Windows and macOS.

Future plans include support for plugins, base objects, metatypes and events, QtNetwork and QtXml modules.

Long-term plans: QtGui and QtWidgets modules, printing, parallelization of operations, serial port support.

Will not be supported: qmake, State Machine framework, advanced encodings, animation, multimedia, D-Bus, SQL, SVG, NFC, Bluetooth, web engine, testlib, scripting and QML. Of the platforms, it was decided not to support iOS, WinRT, Wince, Android, Blackberry, nacl, vxWorks and Haiku.

Source: opennet.ru

Add a comment