Вверх ↑
Администрация
Ответов: 15294
Рейтинг: 1518
#1: 2011-05-16 01:16:44 ЛС | профиль | цитата
   Несмотря на то, что теоретически стандартный пакет Windows из HiAsm4 может быть перенесен в HiAsm5 от него все же рано или поздно придется отказаться совсем. Для этого есть как минимум несколько достаточно серьезных причин:
1) Использование пакетом устаревших компиляторов Delphi и FPC, а так же устаревшего Framework-а KOL
2) Использование устаревшего кодогенератора
3) Отсутствие кроссплатформенности

   Связка FPC+Lazarus устраняет все три проблемы:
1) последние версии компилятора приблизились к производительности GCC, стандартные библиотеки содержат классы и инструменты, поддерживающие большинство современных протоколов и технологий
2) поскольку исходники элементов стандартного пакета в принципе не переносимы в кодогенераторы FTCG и RTCG, то такая миграция возможна только при написании пакета с нуля при использовании кусков кода из старых элементов
3) компилятор FPC поддерживает 7 архитектур и примерно столько же платформ

   На практике это выглядит так:

Внишний вид приложения с несколькими элементами управления:
FPC form on linux amd64
В нижней части рисунка приведен диспетчер задач, в котором показано распределение памяти занимаемое приложением FPC(2.5Mb) и приложением QT (3.1Mb). Разница не такая большая. Однако размеры проектов на диске отличаются кардинально: FPC(4.1Mb) и QT(25Kb)

А это таже самая программа, собранная под Windows XP
FPC form on windows x32
Хорошо видно, что тут приложение QT аж втрое больше приложения FPC. Разница в объеме на диске уже не такая разительная, но все еще большая: FPC(1.6Mb) и QT(64Kb).

   Есть однако одно но, которое может быть не всем очевидно: FPC собирает программы, которые "все свое носят с собой" (от чего такой огромный размер и получается) и по заявлениям разработчиков программа практически не растет с добавлением новых элементов и классов из библиотек (что очевидно). В тоже время QT(да и GTK) приложения под Windows требуют наличия некоторого количества Run time библиотек, общий объем которых в разы больше, чем объем одной программы FPC.

   Если же не брать конкретные цифры и рассматривать только такие чисто бытовые моменты, к которым можно отнести время сборки приложения, перенос на компьютеры без HiAsm, простота установки пакета и его подготовки к сборке программ, понятность исходных кодов, а так же наличие среды, в которой можно отлаживать этот самый код до создания элемента пакета, то FPC+Lazarus гораздо более предпочтительны(чем QT+QTCreator) как наследники Delphi - пожалуй самой "user frendly" среды. Ну и адаптироваться будет проще тем, кто разрабатывал элементы для пакета Windows
карма: 26
6
файлы: 2fpc-linux.png [52.4KB] [3112], fpc-win.png [16.5KB] [3078]
Голосовали:iarspider, Roma, login, Ivann, sаmakacd, kamakama