Проект CopperSpice — это набор С++ библиотек производных от фреймворка Qt 4.8.
Его основной целью является переработка кодовой базы родительского проекта, чтобы иметь возможность полноценного использования шаблонов, метапрограммирования и нового стандарта Си++11. По мнению разработчиков, данные архитектурные решения позволили полностью отказаться от использования генератора кода известного как Moc (Qt Meta-Object Compiler).
Именно Moc, как таковой, не поддерживает многие возможности современного Си++ как то: шаблоны, сложные типы данных, статическую проверку типов и сильно связан с операциями строкового сравнения. Удаление Moc позволит увеличить производительность приложения, сделает процесс сборки более простым, а также позволит выявлять большее количество проблемного кода еще на этапе компиляции.
Кроме поддержки функциональности Qt 4.8, в CopperSpice выполняется портирование и некоторых классов Qt 5.
Код распространяется под лицензией LGPL.
Основные возможности фреймворка CopperSpice:
- CopperSpice является форком Nokia LGPL Qt 4.8.2;
- Qt Moc более не используется;
- фреймворк написан на Си++11;
- библиотека может быть напрямую слинкована с обычным приложением на Си++;
- шаблонный класс может наследоваться от QObject;
- для сборки библиотек CopperSpice используется привычный многим GNU Autotools.
Фреймворк предоставляет следующие библиотеки:CsCore, CsGui, CsMultimedia, CsNetwork, CsOpenGL, CsPhonon, CsSql, CsSvg, CsWebKit, CsXml и CsXmlPatterns.
По заявлению разработчиков конвертация проектов на Qt в CopperSpice легко осуществляется утилитой PepperMill.
>>> Подробности