Lazarus
Содержание:
- So just what is Lazarus?
- Примеры приложений, созданных с помощью Lazarus
- Кросс-платформенная разработка
- Lazarus.
- Yeah, but what about the GUI? What widget set are you using?
- История
- Программное обеспечение, которое написано посредством «Лазаруса»
- Особенности программного обеспечения
- Функции
- Отличия от Delphi
- Can I create commercial products with this?
- Функционал
- History
- Основные возможности
So just what is Lazarus?
Lazarus is a Delphi compatible cross-platform IDE for Free Pascal. It includes LCL which is more or less compatible with Delphi’s VCL. Free Pascal is a GPL’ed compiler that runs on Linux, Windows, macOS, FreeBSD and others. Free Pascal is designed to be able to understand and compile Delphi syntax, which is OOP. Lazarus is the part of the missing puzzle that will allow you to develop Delphi like programs in all of the above platforms. Unlike Java which strives to be a write once run anywhere, Lazarus and Free Pascal strives for write once compile anywhere. Since the exact same compiler is available on all of the above platforms it means you don’t need to do any recoding to produce identical products for different platforms.
Примеры приложений, созданных с помощью Lazarus
- ASuite — это бесплатная программа запуска приложений с открытым исходным кодом для Windows. Начиная с версии 2.1 Alpha 1, он полностью написан на Lazarus / FPC.
- Beyond Compare — это утилита для сравнения данных для Windows, macOS и Linux. Версии для macOS и Linux скомпилированы с использованием Lazarus / FPC.
- Cartes du Ciel — бесплатнаяпрограмма- планетарий для Linux, macOS и Windows. Программа отображает и маркирует большинство созвездий, планет и объектов, которые вы можете увидеть в телескоп. Он полностью написан на Lazarus / FPC и выпущен под лицензией GPL.
- C-evo — это пошаговая стратегическая игра с открытым исходным кодом , перенесенная с Delphi на Lazarus.
- Cheat Engine — это сканер памяти / шестнадцатеричный редактор / отладчик с открытым исходным кодом. Это полезно для читерства в компьютерных играх. Начиная с версии 6.0 он компилируется с помощью Lazarus / FPC.
- EPANET , программный пакет для моделирования водораспределительных систем.
- HNSKY , Hallo Northern Sky — бесплатная программа- планетарий для Windows и Linux. Начиная с версии 3.4.0 написан и скомпилирован с помощью Lazarus / FPC.
- MyNotex — это бесплатное программное обеспечение для Linux, которое позволяет создавать текстовые заметки и управлять ими.
- TorChat уходит от Python и переписывается на Lazarus + Free Pascal.
- Total Commander 64-битная версия.
- Double Commander — это кроссплатформенный файловый менеджер с открытым исходным кодом, в котором две панели расположены рядом. Он вдохновлен Total Commander и содержит некоторые новые идеи.
- SimThyr — это программа непрерывного моделирования гомеостаза щитовидной железы .
Кросс-платформенная разработка
Взаимодействие библиотек классов и наборов виджетов в Lazarus и Free Pascal
Lazarus использует Free Pascal в качестве внутреннего компилятора. Следовательно, Lazarus теоретически можно использовать для разработки приложений для .
Lazarus предоставляет кросс-платформенную платформу приложений, называемую Lazarus Component Library (LCL), которая обеспечивает единый унифицированный интерфейс для программистов с различными реализациями для конкретных платформ. Используя LCL, можно создавать приложения с однократной записью, компилировать где угодно , если явно не используются системные функции.
Кросс-компиляция
Поскольку Free Pascal поддерживает кросс-компиляцию , приложения Lazarus могут быть кросс-скомпилированы из Windows в Linux / macOS и т. Д. И наоборот.
Приложения для встраиваемых устройств ( смартфоны , КПК , маршрутизаторы, игровые консоли) можно кросс-компилировать с любой настольной платформы.
Библиотека компонентов Lazarus
Архитектура библиотеки компонентов Lazarus
Стандартная платформа приложений, Lazarus Component Library (LCL), изначально была смоделирована после Visual Component Library (VCL) в Delphi 6, но, в отличие от Delphi, не ограничивается операционными системами Microsoft Windows . Это делается путем разделения определения общих виджетов классов и их widgetset Определённых реализаций. Каждый набор виджетов поддерживается за счет предоставления интерфейса, который напрямую взаимодействует с набором.
Lazarus.
Lazarus — это специальная программа с интегрированной (свободной) средой для разработки на основе компилятора Free Pascal. Lazarus — программа с полностью открытым исходным кодом, которая направлена на обеспечение библиотек класса Free Pascal. FP — компилятор интегрированной среды разработки соответствует образцу программе Borland — Delphi — и библиотеки Лазарус, которые эквивалентны VCL. Она смоделирована на Delphi и позволяет импортировать проекты, выполненные в Delphi.
Основные Возможности
Работает на многих платформах
Открытый исходный код для создания любых проектов
Возможность использовать 200 компонентов
Внедрении необходимых компонентов через пакет файлов
Возможность использовать программу для коммерческих целей
Окружающая среда Lazarus подходит для всех разработчиков и особенно для тех, кто намерен создавать программы с нуля. Интерфейс программы очень прост, как для новичков, так и для тех кто уже занимается программированием на профессиональном уровне. Этого удалось достичь принципом перетаскивания выбранного компонента. Программа позволяет создавать приложения с помощью перетаскивания всех необходимых элементов и помещать их в специальные окна. Большим преимуществом этой программы является возможность компиляции для любых операционных систем (Windows, OSX, Linux и Windows CE).
Установка Lazarus на Ubuntu |
Ставить Lazarus + Fpc лучше из репозитория сообщества freepascal так как основные репозитории Ubuntu обновляются реже и могут включать в себя не все пакеты.
Установка ключа
Для подключения дополнительного репозитория сначала необходимо установить ключ. По этому ключу репозиторий будет опознан системой. (Что бы злобные хакеры не подсунули вредоносные пакеты )
Ключ к репозиторию freepascal находятся на сервере ключей pgp.mit.edu, и имеет идентификатор 6A11800F.
Установка ключа через графический интерфейс
- Заходим на сайт http://pgp.mit.edu
- В строке поиска набираем freepascal
- Из полученного списка выбираем 1024D/6A11800F 2007-08-16 Vincent Snijders (gpg key for lazarus ubuntu repository) <vincents@freepascal.org> (жмем левую кнопку мыши на идентификаторе ключа, а не на строке с описанием владельца)
- Копируем строки начиная с —–BEGIN PGP PUBLIC KEY BLOCK—– до —–END PGP PUBLIC KEY BLOCK—– включительно и сохраняем в файле с расширением key
- «Система» > «Администрирование» > «Менеджер пакетов Synaptic»
- В меню: «Настройки» > «Репозитории»
- В открывшемся окне вкладка «Аутентификация»
- Кнопка «Импортировать файл ключа»
- Выбираем сохраненный файл и жмем «ОК» – ключ появится в списке
Установка ключа из командной строки
Здесь все проще
gpg –keyserver hkp://pgp.mit.edu:11371 –recv-keys 6A11800F
gpg –fingerprint 6A11800F
gpg –armor –export 6A11800F| sudo apt-key add –
Подключение репозитория через графический интерфейс
- «Система» > «Администрирование» > «Менеджер пакетов Synaptic»
- В меню: «Настройки» > «Репозитории»
- В открывшемся окне вкладка «Другое ПО»
- Кнопка «Добавить»
- Строка APT:
deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe
- Сохраним с помощью кнопки «Добавить источник»
- При закрытии окна «Источники предложений» Synaptic напомнит что необходимо обновить список пакетов. Жмем «ОК» и обновляем список (большая кнопка «Обновить» в левом верхнем углу).
Подключение репозитория из командной строки
sudo nano /etc/apt/sources.list
В конец файла добавим
deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe
Сохраним файл, выйдем из редактора и обновим пакеты:
sudo apt-get update
Установка через «Центр приложений Ubuntu»
- «Приложения» > «Центр приложений Ubuntu»
- В поиске набираем «lazarus»
- Жмем на стрелку в правой части списка
- Жмем на кнопку «Установить»
Установка через «Менеджер пакетов Synaptic»
- «Система» > «Администрирование» > «Менеджер пакетов Synaptic»
- В поиске набрать «lazarus»
- Правой кнопкой мыши на пакете lazarus > «Отметить для установки»
- Аналогично можно отметить дополнительные пакеты. Все пакеты lazarus+fpc начинаются со слов «lazarus-», «fpc-», «fp-»
- На панели инструментов нажимаем «Применить»
Установка из командной строки
Что может быть проще
sudo apt-get install lazarus
Yeah, but what about the GUI? What widget set are you using?
That is the neat part. You decide. Lazarus is being developed to be totally and completely API independent. Once you write your code you just link it against the API widget set of your choice. If you want to use GTK+, great! If you want it to be Gnome compliant, great! As long as the interface code for the widget set you want to use is available you can link to it. If it isn’t available, well you can write it.
For example. Let’s say you are creating a product on Windows using the standard Windows widgets. Now you want to create a Linux version. First you decide what widget set you want to use. Let’s assume you want to use gtk+. So you copy the code over to your Linux development machine, compile, and link against the gtk+ interface unit. That’s it. You’ve now just created a Linux version of the Windows product without any additional coding.
At this point in the development we are using Win32, gtk2+, Carbon, Cocoa and QT as our API widget set. Bindings for custom drawn components are in the works and other widget sets are planned, too.
История
Первая попытка разработать визуальную IDE для Free Pascal была предпринята в 1998 году под названием «Проект Megido». По разным причинам этот подход не удался. Затем некоторые из разработчиков Megido начали новый проект, основанный на более гибкой основе.
Первая предварительная версия LCL была готова к выпуску в 2001 году, а в 2003 году первая бета-версия Lazarus (0.9.0.3) была размещена на SourceForge . Первая финальная версия Lazarus (1.0) была выпущена в 2012 году, а значительно улучшенная версия Lazarus 1.2 была выпущена в 2014 году. По состоянию на март 2014 года с SourceForge было выполнено более четырех миллионов загрузок.
Название «Lazarus» намекает на возрождение концепции Megido. Он вдохновлен Лазарем из Вифании , который, согласно Евангелию от Иоанна , был восстановлен к жизни на Иисусе через четыре дня после его смерти.
Программное обеспечение, которое написано посредством «Лазаруса»
Скачать Лазарус 1.6 стоит еще и потому, что при помощи этого приложения было разработано такое программное обеспечение:
-
«Тотал Коммандер» – версия для Windows 64-bit проходит компиляцию посредством «Лазаруса».
-
«Дабл Коммандер» – диспетчер файлов с 2 панелями, располагающий открытыми исходниками, совместимый с «Линукс» и «Виндовс».
-
easyMP3Gain – редактор аудиофайлов, позволяющий нормализовать громкость музыки.
-
«ПиЗип» – бесплатно распространяемая программа для архивации файлов, располагающая свойством кроссплатформенности.
-
«Стар Менеджер» – многофункциональный диспетчер процессов для оборудования, оснащенного ЦП ARM и функционирующего под управлением операционки WinCE.
-
«ЛазПейнт» – редактор изображений. Особенности – многофункциональность, кроссплатформенность.
-
«Кудатекст» – кроссплатформенный редактор текстовых файлов для людей, профессионально занимающихся IT-разработкой. Рядовому пользователю приложение вряд ли пригодится.
-
«ДатаЭкспресс» – свободно распространяемый визуальный конструктор, предназначенный для учета и хранения информации, распечатки документации, создания отчетностей. Полезное приложение для людей, которые занимаются бухгалтерией.
Скачайте Лазарус на русском языке, чтобы начать изучать программирование (если вы новичок) либо заняться разработкой полезных приложений (если вы являетесь опытным пользователем). Вы можете скачать программу Лазарус как с официального интернет-сайта, так и с любого другого веб-ресурса, на котором размещено это приложение.
Особенности программного обеспечения
Весомым плюсом «Лазаруса» считается кроссплатформенность. Если Lazarus, можно будет разрабатывать приложения, предназначающиеся для разных устройств с различными операционками. Когда вы скачаете Lazarus для Windows, то наверняка заметите, насколько прост ее интерфейс.
Главным минусом приложения считается большой размер создаваемого исполняемого файла. Простейшее приложение, включающее в себя лишь пустую форму без каких-либо функций, генерирует исполняемый файл размером 10 мегабайт. При этом аналогичное приложение, разработанное в «Дельфи», будет весить лишь 0.3 мегабайт.
Если скачать Lazarus для Windows 7, разработать программу, изменить настройки компилирования, можно будет уменьшить размер генерируемого файла до 1.2 мегабайт. Однако это все равно чересчур большой размер, если сравнивать с «Дельфи».
Функции
Lazarus предоставляет среду разработки с высокой степенью визуализации для создания богатых пользовательских интерфейсов, логики приложений и других вспомогательных артефактов кода, аналогичных Borland Delphi . Помимо функций управления проектами, Lazarus IDE также предоставляет:
- Визуальный дизайнер макетов окон A What You See Is What You Get ( WYSIWYG )
- Виджеты графического интерфейса пользователя или визуальные компоненты, такие как поля редактирования, кнопки, диалоговые окна, меню и т. Д.
- Невизуальные компоненты для общего поведения, такого как сохранение настроек приложения
- Компоненты подключения к данным для MySQL , PostgreSQL , FireBird , Oracle , SQLite , Sybase и др.
- Набор виджетов с поддержкой данных, который позволяет разработчику видеть данные в визуальных компонентах в конструкторе, чтобы помочь в разработке.
- Интерактивный отладчик кода
- Автозавершение кода
- Шаблоны кода
- Подсветка синтаксиса
- Контекстно-зависимая помощь
- Менеджер текстовых ресурсов для интернационализации (интернационализации)
- Автоматическое форматирование кода
- Возможность создавать собственные компоненты
Отличия от Delphi
Несмотря на то, что он во многом похож на Delphi , существует несколько ограничений в отношении производительности и набора функций, в том числе:
- В Windows размер исполняемого файла по умолчанию больше, чем у эквивалента Delphi 6 или 7, поскольку Lazarus хранит отладочную информацию внутри исполняемого файла, а не в виде отдельных файлов. Начиная с 0.9.30 Lazarus поддерживает внешние символы отладки; размер файла программы можно значительно уменьшить (с помощью параметров компилятора), используя внешний файл символов. В качестве альтернативы отладочная информация может быть удалена из EXE (например, с помощью порта команды UNIX ).
- Компоненты для Delphi могут быть преобразованы для работы в Lazarus, что может быть сложным, но с момента выхода 0.9.30 стало меньше, на основе FP 2.4.x.
- Отсутствие Datasnap (не публично задокументированная система, фирменная корпоративная функциональность Embarcadero ).
- Сеть в основном доступна.
- Нет поддержки для прямого вызова библиотек .NET. Код Object Pascal можно вызывать из программного обеспечения .NET.
- Отсутствует поддержка динамически загружаемых пакетов.
- Не полностью совместим с VCL. Как упоминалось ранее, это сделано намеренно, хотя набора виджетов LCL должно хватить для большинства приложений. Но это делает недоступным без преобразования глубокий репозиторий доступных виджетов VCL. Преобразование в основном связано с некоторым редактированием, хотя есть несколько фундаментальных отличий. При портировании недостающие модули в библиотеках (и ранее отсутствие поддержки COM) представляют собой значительно большую проблему, чем несовместимость между LCL и VCL.
- Поддержка COM отсутствовала до версии 2.2.0.
- Связь с Microsoft Office была недоступна до выпуска FPC 2.6.0. С FPC 2.6.0 и выше можно открыть Excel с простой заполненной таблицей.
Can I create commercial products with this?
Yes. The code for the Free Pascal compiler is licensed under the GPL. This means that it is open source, free, whatever name you want to stick to it. You can modify the code if you wish but you MUST distribute those changes or make them available to others if they wish to use it.
The FCL (Free Pascal Component Libraries) and the LCL (which will eventually become part of the FCL) are licensed under a modified LGPL. In a nut shell this means that you can write your own proprietary software that just links to these libraries. You can sell your application without the need to supply or make available your code. However, as with the compiler if you make modifications to the FCL or LCL you must make those changes available to the general public and the world.
Функционал
Программное обеспечение основывается на библиотеке графических элементов «Лазарус Компонент Либрери». Если вы решили бесплатно скачать Лазарус на Виндовс 10, вам стоит ознакомиться с ее функционалом:
-
поддержка преобразования Delphi-проектов;
-
реализация основного набора управляющих компонентов;
-
редактирование форм и объектный инспектор, по максимуму приближенные к «Дельфи»;
-
отладочный интерфейс;
-
функциональный редактор, который включает в себя систему подсказок, гипертекстовую навигацию по исходникам, автоматическое завершение и рефакторинг;
-
совместимость с 2 видами ассемблерного кода;
-
совместимость с различными видами синтаксиса «Паскаль»;
-
особый формат управления пакетами;
-
автоматическая сборка под обновленную виджетную библиотеку (пользователю нужно лишь нажать одну клавишу).
History
Lazarus was started in February of 1999. It was primarily founded by three individuals:
- Cliff Baeseman
- Shane Miller
- Michael A. Hess
All three had attempted to get involved with the Megido project which dissolved. In frustration they started the Lazarus project. It has had a steady growth of supporters and developers during the following years. The founders are not involved with the project any more.
The next oldest member of the team is Marc Weustink. He got involved with the project in Aug. 1999. Following him is Mattias Gaertner who got involved in Sept. 2000. Both of them have been the major contributors to the core of what makes Lazarus tick. More about the history in the Wiki
Основные возможности
- Перенос Delphi-программ с графическим интерфейсом на операционные системы Linux, Windows, Mac, OS X;
- Редактирование форм и объектов;
- Форматирование кода с использованием механизма Jadi Code Format;
- Поддержка синтаксиса Pascal: Turbo Pascal, Object Pascal, Mac Pascal и Delphi;
- Собственный формат управления пакетами;
- Поддержка ассемблеров Intel и AT&T;
- Наличие собственных модулей навигации и автодополнения;
- Использование ветки компилятора Free Pascal 3.0.
Плюсы и минусы
Плюсы:
- Интуитивно понятный интерфейс;
- Бесплатный;
- Регулярно обновляется;
- Наличие системы подсказок и гипертекстовой навигации по исходным текстам;
- Автозавершение кода и рефакторинг;
- Полностью юникодный редактор;
- Простой переход на Delphi благодаря близости LCL к VCL.
Минусы:
Отсутствие документации, хотя она доступна в виде wiki-учебника.
Аналоги
Python – это язык программирования, который наделён минимальным набором синтаксиса, но рассчитан на повышения производительности разработчика и читаемость кода. Основные черты данного языка – автоматическое управление памятью, динамическая типизация, построение информации в виде структуры. Работает на бесплатной основе. Есть официальная инструкция на сайте разработчика.
Pascal ABC – специальная программа, с помощью которой можно освоить навыки программирования на языке Паскаль. Софт имеет понятный интерфейс, широкий инструментарий, наличие подсказок. Распространяется на бесплатной основе.
Принципы работы
Установка программы стандартная. Скачиваем с сайта версию программы в соответствии с разрядностью системы. Запускаем установку. Выбираем язык интерфейса.
Следуем подсказкам мастера установщика.
Отмечаем все типы файлов для регистрации.
Жмём «Установить». Стоит отметить, что для инсталляции программы необходимо 1 Гб свободного места на системном диске.
После установки программы на рабочем столе появится несколько окон.
Второе окно – инспектор объектов. В нём будут в древовидном формате отображаться все файл проекта. Их можно будет удалить, отредактировать, скопировать.
Редактор текста. Основное окно, где будет отображаться исходный текст. Можно редактировать: копировать, вырезать, вставлять.
Форма 1. Это диалоговое окно, в котором будет отображено количество форм, использованных в проекте. По сути, это будет само отображение проекта.
С помощью этой среды можно написать небольшую программу, консольное приложение, которое будет адаптировано под любую операционную систему.
О том, как работать с Lazarus смотрите в видео: