Nik

|
Posted: Mon Oct 04, 2010 13:56 Post subject: |
|
|
Я, конечно, немного опоздал с ответом (по техническим причинам), но не влезть в столь интересный разговор не могу.
Некоторое время назад полностью отказался от Delphi в пользу Lazarus (изначально - по причинам, связанным с лицензиями). Причём начал как раз с перевода довольно громоздкого в плане кода проекта (БД на базе SQLite). Собственно на портирование ушёл примерно месяц (включая небольшие правки в синтаксисе, замену ряда компонентов и переделку пары классов). Ещё пара недель неспешной работы ушла на отладку (по ходу дела вылезли мелкие баги - опять-таки из-за небольшой разницы в формате вызова некоторых функций).
После написал несколько программ разного размера уже исходно на Lazarus (одну писали и продолжаем писать совместно с супругой в рамка её практики).
По опыту могу отметить несколько моментов.
1. В плане возможностей Lazarus намного превосходит Delphi 2 (а местами уже "догнал и перегнал" последние версии).
2. Развитие Lazarus идёт более активно + есть обратная связь с разработчиками (постил несколько критичных для себя багов/недоделок LCL в багтрекер - всё исправили очень быстро, буквально за пару дней).
3. Имхо, после портирования с Delphi на Lazarus Гислер вполне сможет постепенно привести код к виду, пригодному для кросс-компиляции на несколько платформ. Даже самые специфичные функции вполне можно переписать (хотя тут, конечно, нужно сперва опыта набраться и в плане работы c Lazarus и в плане работы с другой архитектурой ОС).
4. Размер файла в разы больше, чем у Delphi только для "пустого" проекта. Чем больше функций/компонентов из LCL/VCL используйте - тем меньше ощутима разница (особенно с последними версиями Delphi). Strip и UPX сводят разницу практически к нулю (для TC в итоге вряд ли будет больше уже упомянутых 2 Мбайт, причём это сравнение с Delphi 2, а не с последними).
5. В плане скорости работы особой разницы между программами Delphi и Lazarus не заметил. У Lazarus немного больше потребление памяти и чаще возникают утечки (менеджер памяти, судя по всему, ещё сыроват), но при аккуратном коде это не влияет на качество итоговой программы. Есть некоторые тормоза в отрисовке при прямой работе с Canvas, но их получается устранять, переписывая Delphi-style код в манере FPC. Плюс иногда играет роль кросс-платформенность. Но особых тормозов опять-таки не заметил. _________________ Качественный хостинг. |
|