QtE – это библиотека, представляющая надстройку над стандартным Qt. Делал я её сугубо для себя и своих утилитарных нужд, по этому в ней нет системности и всеобъемлемости. Это эксперимент, развившийся до относительно законченного вида.
QtE по принципу строения больше всего похожа на Lazarus c Qt. Классы Qt «разбиваются» на конструкторы, деструкторы и методы. Далее на базе этого «плоского (не ООП)» набора функций строится новая иерархия классов на базе того языка программирования, с которым будет использоваться. На данный момент есть версия для SPF 4.20 Win/Linux 32 и D (dlang) для Win/Linux 32/64.
Сама QtE состоит из двух частей. Первая – это QtE.dll (so для Linux), которая представляет ту самую «плоскую» модель Qt. Вторая часть, это QtE.f (для SPF 4.20) или QtE.d (для D) дерево классов в терминах того языка, который будет использоваться.
QtE.dll – написана на C++ 32/64. В Linux используется gcc, в Windows mingw и соответствующая версия Qt. Я принципиально отказался от Microsoft C++, в целях унификации исходного кода.
Как выяснилось, после компиляции QtE.dll (so) для работы с Qt достаточно нескольких библиотек из Qt. Это позволяет не устанавливать Qt на компьютер, а просто скопировать несколько dll, этакий RunTime Qt, и спокойно работать с Форта или D.
С 32 разрядной версией ни каких проблем нет. А с 64 разрядной я работал только с D, т.к. нет у меня 64 разрядной версии Форта. По большому счету, я не вижу большой необходимости в 64 разрядной версии, но в качестве эксперимента «раскрутил» и её.
На данный момент я реализовал на QtE и D несколько «коммерческих» проектов (ПО на заказ). Всё 32 разрядное. Вот несколько скринов
http://qte.ucoz.ru/index/screenshots/0-6Может возникнуть вопрос, почему проекты на D а не на SPF например. Ответ – библиотеки, библиотеки и ещё раз библиотеки . Скорость написания на D раз в 10 выше скорости написания на Форте, именно благодаря стройному окружению.
Интересное наблюдение. D активно использует интерпретацию, для предварительного разбора исходного кода. Отсюда такие Фортовские штучки, как CREATE … DOES>, там они называются активные шаблоны, или например предварительные вычисления. Всё, что компилятор может вычислить самостоятельно (типы, выражения, функции и т.д.) на этапе разбора, он вычисляет и активно использует при создании exe. За счет этого просто удивляет интеллектуальность компилятора. Предвижу вопрос, а причем тут вообще Форт? А при том, что D (на мой взгляд конечно) это то к чему надо двигаться Форту. Все исходные уже есть, только собрать всё в кучу проверить и написать документацию.
Предвижу первый вопрос, тем более, что мне его уже задавали много раз. Зачем это всё нужно, QtE и всё такое. Ответ. Быстро написать кроссплатформенное приложение, используя мощь Qt и и при этом минимум инструментов, не заморачиваться с огромными IDE, компиляторами и т.д.
Исходники QtE можно скачать с
http://qte.ucoz.ru/loadГотов ответить на вопросы.