Lazarus

Lazarus - вільна Середа розробки програмного забезпечення для компілятора Free Pascal (часто використовується скорочення FPC-вільно поширюваний компілятор мови програмування Pascal) на мові Object Pascal. Інтегроване середовище розробки надає можливість кроссплатформенной розробки додатків в Delphi -подібному оточенні. На даний момент є єдиним інструментом швидкої розробки додатків (RAD), що дозволяє Delphi-програмістам створювати додатки з графічним інтерфейсом для Linux (та інших не-Windows) систем.

Дозволяє досить нескладно переносити Delphi-програми з графічним інтерфейсом в різні операційні системи: Linux, FreeBSD, Mac OS X, Microsoft Windows, Android [2]. Починаючи з Delphi XE2 в самому Delphi є можливість компіляції програм для Mac OS X і iOS.


1. Функції

Заснований на бібліотеці візуальних компонентів Lazarus Component Library (LCL). В даний час практично повністю підтримує віджети Win32, GTK1, GTK2, Carbon. У розробці знаходяться віджети Qt і WinCE.

  • Підтримує перетворення проектів Delphi
  • Реалізований основний набір елементів управління
  • Редактор форм і інспектор об'єктів максимально наближені до Delphi
  • Інтерфейс налагодження (використовується зовнішній відладчик GDB)
  • Простий перехід для Delphi програмістів завдяки близькості LCL до VCL
  • Повністю юнікодний (UTF-8) інтерфейс і редактор і тому відсутність проблем з портування коду, що містить національні символи
  • Потужний редактор коду, що включає систему підказок, гіпертекстове навігацію по вихідним текстам, автозавершення коду і рефакторинг
  • Форматування коду "з коробки", використовуючи механізми Jedi Code Format
  • Підтримка двох стилів асемблера: Intel і AT & T (підтримуються з боку компілятора)
  • Підтримка безлічі типів синтаксису Pascal: Object Pascal, Turbo Pascal, Mac Pascal, Delphi (підтримуються з боку компілятора)
  • Має власний формат управління пакетами
  • Авто збірка самого себе (під нову бібліотеку віджетів) натисненням однієї кнопки
  • Підтримувані для компіляції ОС: Linux, Microsoft Windows (Win32, Win64), Mac OS X, FreeBSD, WinCE, OS / 2

2. Недоліки

  • Немає повної сумісності з Delphi (хоча на відміну від Delphi надає можливість створювати більш Кросплатформені додатка)
  • Відсутність повної документації, хоча вона доступна у вигляді Wiki - підручників, які можуть редагувати самі користувачі [3]
  • Бінарні файли дуже великі через те, що включають в себе багато налагоджувальної інформації для використання в отладчікe gdb (GNU Debugger). Компілятор має налаштування для видалення налагоджувальної інформації з виконуваного файлу (-Xs), але через помилки в компіляторі (версія 2.0.2 і нижче) вона не працює коректно. Помилка виправлена ​​у версіях компілятора 2.0.4 і вище. Ви можете використовувати програму "strip" для видалення налагоджувальної інформації з виконуваних файлів. Вона знаходиться в каталозі Lazarus'а: lazarus \ pp \ bin \ i386-win32 \. Наберіть "strip - strip-all <шлях до виконуваного файлу> "в командному рядку. Якщо Ви хочете зробити Вашу програму дуже маленькою, то Ви можете спробувати використовувати UPX. UPX - це дуже хороший exe-пакувальник. It includes no memory overhead due to in-place decompression. І також має дуже швидке розпакування (~ 10 МБ / сек на Pentium 133). Для використання upx наберіть "upx <шлях до виконуваного файлу> "в командному рядку. Після використання strip і upx проста GUI програма на Lazarus'е виходить: ~ 700Кб на Linux; ~ 420Кб на Windows
  • Різні кодування рядків в Windows і Lazarus (UTF-16 і UTF-8) створюють труднощі для Windows - користувачів, так як їм доведеться вручну стежити за перетворенням рядків, використовуючи кілька десятків функцій і великий мануал в wiki [4]

3. ПО, написане на Lazarus

  • Total Commander - 64-розрядна версія TC 8.0 компілюється за допомогою Lazarus x64
  • Double Commander - двохпанельний файловий менеджер c відкритим вихідним кодом, що працює під Linux і Microsoft Windows.
  • easyMP3Gain - аудіоредактор для нормалізації гучності mp3-файлів.
  • GLScene - графічний движок, що використовує бібліотеку OpenGL в якості інтерфейсу програмування додатків. Входить в пакет CodeTyphon - альтернативна збірка Lazarus, з безліччю додаткових пакетів та компонентів.
  • Greengnome (англ.) - вільна середу робочого столу для Microsoft Windows (аналог робочого столу GNOME для Linux).
  • PeaZip - вільний і безкоштовний кросплатформний портативний архіватор та графічна оболонка для інших архіваторів.
  • Ubuntu Control Center - центр управління операційною системою ubuntu.
  • Transmission Remote GUI - Front-end програма для управління BitTorrent клієнтською програмою Transmission, що працює під Linux, Microsoft Windows і Mac OS X.

4. Перехід з Delphi

  • Lazarus Components - Порівняння компонентів Lazarus та Turbo Delphi;
  • Lazarus For Delphi Users - Для користувачів Delphi, які хочуть почати програмувати в Lazarus;
  • Code Conversion Guide - Як конвертувати існуючий код і компоненти Delphi і Kylix в Lazarus.

5. Ліцензія

Lazarus поширюється на умовах GNU General Public License, а значна частина бібліотек, у тому числі LCL - на умовах модифікованої GNU Lesser General Public License.

Примітки

  1. Репозиторій Lazarus. - sourceforge.net / projects / lazarus / files
  2. Для створення нових додатків (після короткого ознайомлення з відмінностями від Delphi) можна також використовувати альтернативну кроссплатформенную середовище розробки для FreePascal - MSE.
  3. Підручники та довідники по Lazarus - wiki.lazarus.freepascal.org / Lazarus_Documentation / ru
  4. LCL Unicode Support - wiki.lazarus.freepascal.org / LCL_Unicode_Support # Instructions_for_users

7. Підручники з Lazarus та Pascal