Lazarus (IDE) - Lazarus (IDE)

Лазарь
Laz banner.png
Lazarus IDE 1.0 под управлением macOS
Lazarus IDE 1.0 работает на macOS
Разработчики)Волонтеры (команда Lazarus)
Стабильный выпуск
2.0.10 / 11 июля 2020 г.; 4 месяца назад (2020-07-11)
Репозиторий Отредактируйте это в Викиданных
Написано вObject Pascal
Операционная системаWindows, macOS, Linux, FreeBSD, Солярис и другие
ПлатформаIA-32, x86-64, РУКА, PowerPC
ТипИнтегрированная среда развития
ЛицензияСтандартная общественная лицензия GNU и модифицированный Стандартная общественная лицензия ограниченного применения GNU (с исключением статической привязки)
Интернет сайтwww.lazarus-ide.org

Лазарь это бесплатный кроссплатформенный визуальный интегрированная среда развития (IDE) для быстрая разработка приложений (RAD) с помощью Free Pascal компилятор. Его цель - предоставить простую в использовании среду разработки для программистов, разрабатывающих язык Object Pascal, который максимально приближен к Delphi.

Разработчики программного обеспечения используют Lazarus для создания консоли с собственным кодом и графический интерфейс пользователя (GUI) приложения для рабочего стола, а также для мобильных устройств, веб-приложения, веб-сервисы, визуальные компоненты и библиотеки функций для различных платформ, включая Mac, Linux и Windows.

Приложение, созданное с использованием Lazarus на одной платформе, обычно может компилироваться и выполняться на любой платформе, для которой существует компилятор Free Pascal. Для настольных приложений единый источник может быть нацелен на Mac, Linux и Windows с небольшими изменениями или без них. Примером может служить сама Lazarus IDE, созданная из единой базы кода и доступная на всех основных платформах, включая Raspberry Pi.

Функции

Lazarus предоставляет среду разработки с высокой степенью визуализации для создания богатых пользовательских интерфейсов, логики приложений и других вспомогательных артефактов кода, подобных Borland Delphi. Помимо функций управления проектами, Lazarus IDE также предоставляет:

  • Что вы видите, то и получаете (WYSIWYG ) визуальный дизайнер макетов окон
  • Виджеты GUI или визуальные компоненты, такие как поля редактирования, кнопки, диалоговые окна, меню и т. Д.
  • Невизуальные компоненты для общего поведения, такого как сохранение настроек приложения
  • Компоненты передачи данных для MySQL, PostgreSQL, FireBird, Oracle, SQLite, Sybase, и другие
  • Набор виджетов с поддержкой данных, который позволяет разработчику видеть данные в визуальных компонентах в конструкторе, чтобы помочь в разработке.
  • Интерактивный отладчик кода
  • Автозавершение кода
  • Шаблоны кода
  • Подсветка синтаксиса
  • Контекстно-зависимая помощь
  • Менеджер текстовых ресурсов для интернационализации (интернационализации)
  • Автоматическое форматирование кода
  • Возможность создавать собственные компоненты

Кросс-платформенная разработка

Взаимодействие библиотек классов и наборов виджетов в Lazarus и Free Pascal

Lazarus использует Free Pascal в качестве внутреннего компилятора. Таким образом, Lazarus теоретически можно использовать для разработки приложений для все платформы, поддерживаемые Free Pascal.

Lazarus предоставляет кроссплатформенную платформу приложений, называемую Библиотека компонентов Lazarus (LCL), который обеспечивает единый унифицированный интерфейс для программистов с различными реализациями для конкретных платформ. Используя LCL, можно создавать приложения в написать один раз, компилировать где угодно способом, если явно не используются системные функции.

Кросс-компиляция

Поскольку Free Pascal поддерживает кросс-компиляция, Приложения Lazarus могут быть скомпилированы из Windows к Linux / macOS / и т. д. и наоборот.

Приложения для встраиваемых устройств (смартфоны, КПК, маршрутизаторы, игровые приставки) могут быть скомпилированы с любой настольной платформы.

Библиотека компонентов Lazarus

Архитектура библиотеки компонентов Lazarus

Стандартная структура приложения, Библиотека компонентов Lazarus (LCL) изначально был смоделирован после Библиотека визуальных компонентов (VCL) в Delphi 6 и, в отличие от Delphi, не ограничивается Майкрософт Виндоус операционные системы. Это делается путем разделения определения общих виджет классы и их набор виджетов -конкретная реализация. Каждый набор виджетов поддерживается путем предоставления интерфейс который напрямую взаимодействует с множеством.[1]

Разработка базы данных

Разработчики могут устанавливать пакеты, которые позволяют Lazarus поддерживать несколько системы управления базами данных (СУБД). Программы могут взаимодействовать с СУБД через код или компоненты, помещенные в форму.

Из коробки поддерживаются следующие СУБД:

Отличия от Delphi

Напоминая Delphi Во многих отношениях существует несколько ограничений в отношении производительности и набора функций, в том числе:

  • Под Windows размер исполняемого файла по умолчанию больше, чем у эквивалента Delphi 6 или Delphi 7, поскольку Lazarus хранит отладочную информацию внутри исполняемого файла, а не в виде отдельных файлов. Начиная с версии 0.9.30 Lazarus поддерживает внешние символы отладки; размер файла программы можно значительно уменьшить, используя внешний файл символов (его можно установить в параметрах компилятора) или используя Полоска
  • Компоненты для Delphi могут быть установлены в Lazarus, но они должны быть преобразованы, что может быть сложным (менее сложным, так как 0.9.30 на основе FP 2.4.x)
  • Отсутствуют важные медиа-библиотеки и виджеты:
    • Возможность подключения к Microsoft Office до выпуска FPC 2.6.0. Открытие Excel с простой таблицей, заполненной в версии 2.6.0 и выше, работает.
    • Datasnap (не публично задокументированная система, Embarcadero проприетарный корпоративный функционал)
  • Сеть в основном доступна
  • Нет поддержки прямого вызова библиотек .NET ;. Код Object Pascal можно вызывать из программного обеспечения .NET.[2]
  • Поддержка COM отсутствовала до версии 2.2.0.
  • Отсутствует поддержка динамически загружаемых пакетов.
  • Не полностью совместим с VCL. Как упоминалось ранее, это сделано специально, хотя текущего набора виджетов LCL должно хватить для большинства приложений. Но это делает недоступным без преобразования глубокий репозиторий доступных виджетов VCL. Преобразование в основном связано с некоторым редактированием, хотя есть несколько принципиальных отличий. При портировании недостающие модули в библиотеках и поддержка COM представляют собой значительно большую проблему, чем несовместимость между LCL и VCL.

Распространение и лицензирование

подобно Free Pascal, Лазарь - это бесплатно программное обеспечение. Разные порции распределяются по разным лицензии на бесплатное программное обеспечение, включая GPL, LGPL, MPL, и модифицированная версия LGPL.[3]

В частности, LCL, который статически встроен в производимые исполняемые файлы, лицензируется в рамках модифицированной версии LGPL, предоставляя дополнительные разрешения, позволяющие статически встраивать его в производимое программное обеспечение, включая проприетарный ед.

Установка дизайн-время пакет эквивалентен связыванию с IDE, таким образом, Lazarus IDE распространяется вместе с GPL-несовместимым пакетом времени разработки (например, Джедаи пакеты, которые лицензируются под Общественная лицензия Mozilla ) предустановленный вызовет нарушение лицензии. Однако это не запрещает разработку проприетарных пакетов с помощью Lazarus.

История

Первая попытка разработки визуальной IDE для Free Pascal датируется 1998 годом, когда Проект мегидо началось. По разным причинам этот подход не удался. Затем некоторые из разработчиков Megido начали новый проект, основанный на более гибкой основе.

Первая предварительная версия LCL была готова к выпуску в 2001 году, а в 2003 году первая бета-версия Lazarus (0.9.0.3) была размещена на SourceForge. Первая финальная версия Lazarus (1.0) была выпущена в 2012 году, а значительно улучшенная версия Lazarus 1.2 была выпущена в 2014 году. По состоянию на март 2014 года с SourceForge было выполнено более четырех миллионов загрузок.

Название «Лазарь» отсылает к возрождению концепции Megido. Он вдохновлен Лазарь из Вифании, который, по мнению Евангелие от Иоанна, был восстановлен к жизни к Иисус через четыре дня после его смерти.

Версии

Легенда:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий выпуск
Номер версииДата выходаПлатформаКомментарии
Старая версия, больше не поддерживается: 0.0.5Январь 2001WindowsПервый выпуск библиотеки компонентов
Старая версия, больше не поддерживается: 0.1Январь 2001WindowsРедизайн библиотеки компонентов для поддержки разработки с учетом платформы для Linux и Windows с использованием GTK + и др. наборы виджетов.
Старая версия, больше не поддерживается: 0.530 января 2001 г.Windows, LinuxИсправлены ошибки и добавлены новые функции, поддерживающие кроссплатформенную разработку и скелеты проектов.
Старая версия, больше не поддерживается: 0.89 октября 2001 г.Windows, LinuxРеализованы инструменты кода, исправлены ошибки.
Старая версия, больше не поддерживается: 0.8.217 января 2002 г.Windows, LinuxРасширенные функции поиска.
Старая версия, больше не поддерживается: 0.8.419 августа 2002 г.Windows, LinuxУлучшенная поддержка графики и шрифтов, поддержка синтаксиса Delphi 6. Двоичные DFM теперь автоматически конвертируются в LFM.
Старая версия, больше не поддерживается: 0.8.526 октября 2002 г.Windows, LinuxLCL отделен от интерфейсов.
Старая версия, больше не поддерживается: 0.9.0.34 сентября 2003 г.LinuxПервый выпуск на Sourceforge
Старая версия, больше не поддерживается: 0.9.127 февраля 2004 г.Windows, LinuxПоддержка пакетов, многочисленные добавленные и улучшенные свойства.
Старая версия, больше не поддерживается: 0.9.43 января 2005 г.WindowsУлучшена поддержка потоковой передачи, самая старая общедоступная версия размещена на Sourceforge
Старая версия, больше не поддерживается: 0.9.625 февраля 2005 г.Windows
Старая версия, больше не поддерживается: 0.9.819 июля 2005 г.Windows
Старая версия, больше не поддерживается: 0.9.103 октября 2005 г.Окна, Mac OS X (КПП)Исправлены ошибки, улучшена расширяемость IDE, редактор документов для файлов FPDoc. Включает Free Pascal 2.0.1
Старая версия, больше не поддерживается: 0.9.127 февраля 2006 г.WindowsНовые пакеты для поддержки баз данных, приложений CGI и печати.
Старая версия, больше не поддерживается: 0.9.142 апреля 2006 г.Windows, Mac OS X (PPC), LinuxИсправления, дополнительные элементы управления в интерфейсе WinCE и Qt4
Старая версия, больше не поддерживается: 0.9.1628 мая 2006 г.Windows, Mac OS X (PPC), LinuxИсправления ошибок, интерактивная справка для окон IDE и приложений LCL, улучшения интерфейса набора виджетов QT. Включает Free Pascal 2.0.2
Старая версия, больше не поддерживается: 0.9.1823 сентября 2006 г.Windows, Mac OS X (PPC), LinuxИсправления, реализован список процедур, новый инструмент командной строки "lazbuild"
Старая версия, больше не поддерживается: 0.9.205 ноября 2006 г.Windows, Mac OS X (PPC), LinuxИсправлены ошибки, реализовано сворачивание кода, улучшен набор виджетов QT.
Старая версия, больше не поддерживается: 0.9.2226 марта 2007 г.Windows, Mac OS X (PPC), LinuxНовые компоненты для написания служб Windows и демонов Linux, поддержка пользовательских курсоров мыши. Включает Free Pascal 2.0.4
Старая версия, больше не поддерживается: 0.9.2415 ноября 2007 г.Windows, Mac OS X (Intel и PPC), LinuxПервый стабильный выпуск для Win64, WinCE и Mac OS X на базе Intel. Улучшения в интерфейсах наборов виджетов Qt, Carbon и Gtk2. Настраиваемая панель инструментов. Включает Free Pascal 2.2.0
Старая версия, больше не поддерживается: 0.9.265 октября 2008 г.Windows, Mac OS X (Intel и PPC), LinuxПереписана внутренняя графическая система. LCL теперь использует строки Unicode в кодировке UTF-8 на всех платформах. Справка FPDoc во всплывающих подсказках. Первая версия для запуска с использованием набора виджетов Carbon в Mac OS X.
Старая версия, больше не поддерживается: 0.9.26.213 марта 2009 г.Windows, Mac OS X (Intel и PPC), LinuxИсправлены ошибки, улучшена поддержка значков. Включает Free Pascal 2.2.2
Старая версия, больше не поддерживается: 0.9.2829 сентября 2009 г.Windows, Mac OS X (Intel и PPC), LinuxУлучшения редактора и отладчика, включая поддержку двухбайтовых шрифтов, таких как восточные, японские, китайские и арабские шрифты, а также файлы меньшего размера для созданных приложений. Включает Free Pascal 2.2.4
Старая версия, больше не поддерживается: 0.9.28.225 октября 2009 г.Windows, Mac OS X (Intel и PPC), LinuxВ основном исправления ошибок.
Старая версия, больше не поддерживается: 0.9.3022 марта 2011 г.Windows, Mac OS X (Intel и PPC), LinuxБольшое количество новых функций, включая стыковку и несколько окон с исходным кодом. На основе Free Pascal 2.4.2.
Старая версия, больше не поддерживается: 0.9.30.2RC130 сентября 2011 г.Windows, Mac OS X (Intel и PPC), LinuxВключает Free Pascal 2.4.4. Релиз-кандидат для Lazarus 0.9.30.2.
Старая версия, больше не поддерживается: 0.9.30.2RC226 октября 2011 г.Windows, Mac OS X (Intel и PPC), LinuxРелиз-кандидат Lazarus 0.9.30.2.
Старая версия, больше не поддерживается: 0.9.30.25 ноября 2011 г.Windows, Mac OS X (Intel и PPC), LinuxИсправление ошибок.
Старая версия, больше не поддерживается: 0.9.30.4RC13 марта 2012 г.Windows, Mac OS X (Intel и PPC), LinuxИсправления ошибок, включая Free Pascal 2.6.0. Релиз-кандидат Lazarus 0.9.30.4.
Старая версия, больше не поддерживается: 0.9.30.4RC27 марта 2012 г.Windows, Mac OS X (Intel и PPC), LinuxРелиз-кандидат Lazarus 0.9.30.4.
Старая версия, больше не поддерживается: 0.9.30.4RC311 марта 2012 г.Windows, Mac OS X (Intel и PPC), LinuxРелиз-кандидат Lazarus 0.9.30.4.
Старая версия, больше не поддерживается: 0.9.30.414 марта 2012 г.Windows, Mac OS X (Intel и PPC), LinuxИсправление ошибок
Старая версия, больше не поддерживается: 1.0RC129 июля 2012 г.Windows, Mac OS X (Intel), LinuxРелиз-кандидат для Lazarus 1.0.
Старая версия, больше не поддерживается: 1.0RC221 августа 2012 г.Windows, Mac OS X (Intel и PPC), LinuxРелиз-кандидат для Lazarus 1.0.
Старая версия, больше не поддерживается: 1.028 августа 2012 г.Windows, Mac OS X (Intel и PPC), LinuxПервая финальная версия. Этот стабильный выпуск включает Free Pascal 2.6.0. Множественные исправления и улучшения IDE, включая функцию макросов, расширенное сворачивание кода и новые функции отладчика.
Старая версия, больше не поддерживается: 1.0.210 октября 2012 г.Windows, Mac OS X (Intel и PPC), LinuxИсправления ошибок, незначительные дополнения к LCL и наборам виджетов
Старая версия, больше не поддерживается: 1.0.42 декабря 2012 г.Windows, Mac OS X (Intel и PPC), LinuxИсправления ошибок, незначительные дополнения к IDE, LCL и наборам виджетов, а также LazReport и TAChart
Старая версия, больше не поддерживается: 1.0.63 февраля 2013 г.Windows, Mac OS X (Intel и PPC), LinuxИсправления ошибок, незначительные дополнения к IDE, LCL и наборам виджетов, а также к LazReport и TAChart.
Старая версия, больше не поддерживается: 1.0.819 марта 2013 г.Windows, Mac OS X (Intel и PPC), LinuxВыпуск исправления ошибки. Включает Free Pascal 2.6.2
Старая версия, больше не поддерживается: 1.0.1012 июня 2013 г.Windows, Mac OS X (Intel и PPC), LinuxИсправление ошибок.
Старая версия, больше не поддерживается: 1.0.1224 августа 2013 г.Windows, Mac OS X (Intel и PPC), LinuxИсправление ошибок.
Старая версия, больше не поддерживается: 1.0.1416 ноября 2013 г.Windows, Mac OS X (Intel и PPC), LinuxИсправление ошибок.
Старая версия, больше не поддерживается: 1.1.9916 сентября 2013 г.Windows, Mac OS X, LinuxАльфа-версия для Lazarus 1.2
Старая версия, больше не поддерживается: 1.2RC13 ноября 2013 г.Windows, Mac OS X, LinuxРелиз-кандидат для Lazarus 1.2
Старая версия, больше не поддерживается: 1.2RC213 января 2014 г.Windows, Mac OS X, LinuxРелиз-кандидат для Lazarus 1.2
Старая версия, больше не поддерживается: 1.24 марта 2014 г.Windows, Mac OS X, LinuxМножество новых функций, в том числе запись макросов, поддержка многоуровневых графиков и Pascal Script. На основе Free Pascal 2.6.2
Старая версия, больше не поддерживается: 1.2.223 апреля 2014 г.Windows, Mac OS X, BSD, Solaris, LinuxВыпуск исправления ошибки. На основе Free Pascal 2.6.4
Старая версия, больше не поддерживается: 1.2.416 июня 2014 г.Windows, Mac OS X, BSD, Solaris, LinuxВыпуск исправления ошибки.
Старая версия, больше не поддерживается: 1.2.612 октября 2014 г.Windows, Mac OS X, BSD, Solaris, LinuxВыпуск исправления ошибки.
Старая версия, больше не поддерживается: 1.4.019 апреля 2015 г.Windows, Mac OS X, BSD, Solaris, LinuxУлучшения редактора, обработки ресурсов и дополнительные новые функции. На основе Free Pascal 2.6.4.
Старая версия, больше не поддерживается: 1.4.214 июля 2015 г.Windows, Mac OS X, BSD, Solaris, LinuxВыпуск исправления ошибки.
Старая версия, больше не поддерживается: 1.4.44 октября 2015 г.Windows, Mac OS X, BSD, Solaris, LinuxВыпуск исправления ошибки.
Старая версия, больше не поддерживается: 1.618 февраля 2016 г.Windows 32- или 64-разрядная, Mac OS X, LinuxМножество новых функций, включая стыковку, группы проектов и улучшенный редактор. На основе Free Pascal 3.0.0.[4]
Старая версия, больше не поддерживается: 1.6.213 ноября 2016 г.Windows 32- или 64-разрядная, Mac OS X, LinuxВыпуск исправления ошибки.
Старая версия, больше не поддерживается: 1.6.426 февраля 2017 г.Windows 32- или 64-разрядная, macOS, LinuxВыпуск исправления ошибки. На основе Free Pascal 3.0.2.
Старая версия, больше не поддерживается: 1.8.06 декабря 2017 г.Windows 32- или 64-разрядная, macOS, BSD, LinuxОсновной выпуск со множеством новых функций, включая онлайн-менеджер пакетов. На основе Free Pascal 3.0.4.
Старая версия, больше не поддерживается: 1.8.228 февраля 2018.Выпуск исправления ошибки.
Старая версия, больше не поддерживается: 1.8.422 мая 2018 г.Windows 32- или 64-разрядная, macOS, BSD, LinuxВыпуск исправления ошибки.[5]
Старая версия, но все еще поддерживается: 2.0.05 января 2019 г.,Windows 32- или 64-разрядная, macOS, BSD, LinuxМножество новых функций, включая поддержку Какао и введение транспилятора из Паскаля в JavaScript.
Старая версия, но все еще поддерживается: 2.0.216 апреля 2019 г.,Windows 32- или 64-разрядная, macOS, BSD, LinuxВыпуск исправления ошибки.
Старая версия, но все еще поддерживается: 2.0.46 августа 2019 г.,Windows 32- или 64-разрядная, macOS, BSD, LinuxВыпуск исправления ошибки.
Старая версия, но все еще поддерживается: 2.0.61 ноября 2019 г.Windows 32- или 64-разрядная, macOS, BSD, LinuxВыпуск исправления ошибки.
Старая версия, но все еще поддерживается: 2.0.816 апреля 2020 г.Windows 32- или 64-разрядная, macOS, BSD, LinuxВыпуск исправления ошибок, улучшенный набор виджетов Cocoa.
Текущая стабильная версия: 2.0.1011 июля 2020 г.Windows 32- или 64-разрядная, macOS, BSD, LinuxРелиз с исправлением ошибок, незначительные дополнения, первая версия на основе Free Pascal 3.2.0.

Примеры приложений, созданных с помощью Lazarus

  • ASuite это бесплатная программа запуска приложений с открытым исходным кодом для Windows. Начиная с версии 2.0 Alpha 2, он полностью написан на Lazarus / FPC.
  • Вне всякого сравнения это утилита сравнения данных для Windows, macOS и Linux. Версии для macOS и Linux скомпилированы с использованием Lazarus / FPC.
  • Cartes du Ciel это бесплатный планетарий программа для Linux, macOS и Windows. Программа отображает и маркирует большинство созвездий, планет и объектов, которые вы можете увидеть в телескоп. Он полностью написан на Lazarus / FPC и выпущен под GPL.
  • Чит-двигатель - это сканер памяти / шестнадцатеричный редактор / отладчик с открытым исходным кодом. Это полезно для читерства в компьютерных играх. Начиная с версии 6.0 он компилируется с помощью Lazarus / FPC.
  • EPANET, программный комплекс для моделирования водораспределительных систем.
  • HNSKY, Hallo Northern Sky - это бесплатный планетарий программа для Windows и Linux. Начиная с версии 3.4.0 написан и скомпилирован с помощью Lazarus / FPC.
  • MyNotex это бесплатное программное обеспечение для GNU / Linux, полезное для создания текстовых заметок и управления ими.
  • Peazip это архиватор с открытым исходным кодом, созданный с помощью Lazarus / FPC.
  • TorChat уходит от Python и переписывается на Lazarus + Free Pascal.
  • Total Commander 64-битная версия.[6]
  • Двойной командир - кроссплатформенный файловый менеджер с открытым исходным кодом, в котором две панели расположены рядом. Он вдохновлен Total Commander и предлагает несколько новых идей.[7]
  • CudaText это кроссплатформенный текстовый редактор с открытым исходным кодом.
  • Совместное редактирование (переименован в Dexed ) - это IDE для Язык программирования D.
  • SimThyr это программа непрерывного моделирования для гомеостаз щитовидной железы.
  • Tomboy-ng, активное в настоящее время проявление Сорванец.

Примеры библиотек Delphi, совместимых с Lazarus

Смотрите также

Рекомендации

  1. ^ Видеть LCL Внутреннее устройство.
  2. ^ http://wiki.lazarus.freepascal.org/Using_Pascal_Libraries_with_.NET_and_Mono
  3. ^ ""COPYING.txt "файл из онлайн-хранилища исходного кода".
  4. ^ Lazarus 1.6 на http://forum.lazarus.freepascal.org
  5. ^ Lazarus 1.8.4 на http://forum.lazarus.freepascal.org
  6. ^ "На каком языке написано ТС ??". Ghisler.ch. 2010-08-09. Получено 2016-08-11.
  7. ^ sourceforge.net.

Дополнительные ссылки

  • Михаэль ван Каннейт; Флориан Клэмпфл (2012), Free Pascal (Free Pascal 2 ed.), Computer & Literatur Verlag GmbH, ISBN  978-3936546729, ПР  25421359M, 393654672X
  • Михаэль ван Каннейт; Маттиас Гертнер; Свен Хайниг; Фелипе Монтейро де Карвалью; Инусса Уэдраого; Йорг Браун (2011), Лазарь, Бёблинген, Германия: Computer & Literatur Verlag GmbH, ПР  25426539M
  • Михаэль ван Каннейт; Матиас Гертнер; Свен Хайниг; Фелипе Монтейро де Карвалью; Инусса Уэдраого (2011), Лазарь - полное руководство, Журнал Blaise Pascal, ПР  25427992M

внешняя ссылка