Lazarus IDE – это современная среда разработки, использующая в качестве языка программирования Object Pascal. Кто бы что ни говорил, но это хороший, простой и понятный язык. И, несмотря на свою простоту, он позволяет создавать программы практически любой сложности. Так что если вы начинаете свой путь в программирование и хотите сразу создавать программы с графическим интерфейсом «лёгким движением руки», то Lazarus – это хороший выбор.
Компания Lazarus была основана в феврале 1999 года. Первоначально она была основана тремя людьми:
- Клифф Бейсман
- Шейн Миллер
- Майкл А. Хесс
Все трое пытались принять участие в проекте "Мегиддо" (Megiddo), который распался. В отчаянии они запустили проект Lazarus. В последующие годы число его сторонников и разработчиков неуклонно росло. И хотя основатели больше не участвуют в проекте, проект продолжает развиваться.
Что же такое Lazarus?
Lazarus – это кроссплатформенная среда разработки (IDE), совместимая с Delphi. Она использует компилятор Free Pascal. Он включает в себя библиотеку LCL, которая более или менее совместима с библиотекой VCL Delphi. Free Pascal – это свободно распространяемый (полностью бесплатный) GPL-компилятор, который работает в Linux, Windows, macOS, FreeBSD и других системах. Free Pascal разработан для того, чтобы иметь возможность понимать и компилировать синтаксис Delphi, который является объектно-ориентированным языком.
Но Free Pascal – это только компилятор. Он не годится для полной замены Delphi, поскольку Delphi – это визуальная среда разработки, позволяющая быстро и легко создавать приложения с графическим интерфейсом. Так что Lazarus, которая как бы является надстройкой над Free Pascal – это как раз та недостающая часть, которая позволит вам разрабатывать программы, подобные Delphi, на всех вышеперечисленных платформах.
В отличие от Java, которая стремится к однократному запуску в любом месте, Lazarus и Free Pascal стремятся к однократной компиляции в любом месте. Поскольку один и тот же компилятор доступен на всех вышеперечисленных платформах, это означает, что вам не нужно делать никаких записей для создания идентичных продуктов для разных платформ.
Ну и, кроме всего прочего, в отличие от той же Delphi, которая стоит космических денег, Lazarus – это совершенно бесплатный продукт, как и Free Pascal. Но в то же время, изучать Lazarus можно, читая книги о Delphi, потому что они достаточно хорошо совместимы.
Да, но как насчет графического интерфейса? Какой набор виджетов использует Lazarus?
Это самая приятная часть. Вам решать. Lazarus разрабатывается таким образом, чтобы быть полностью независимым от API. Как только вы напишете свой код, вы просто свяжете его с набором виджетов API по вашему выбору. Если вы хотите использовать GTK+, отлично! Если вы хотите, чтобы он был совместим с Gnome, отлично! Пока доступен код интерфейса для набора виджетов, который вы хотите использовать, вы можете перейти по ссылке на него. Если он недоступен, что ж, вы можете написать его сами.
Например. Допустим, вы создаете продукт в Windows, используя стандартные виджеты Windows. Теперь вы хотите создать версию для Linux. Сначала вы решаете, какой набор виджетов вы хотите использовать. Давайте предположим, что вы хотите использовать GTK+. Итак, вы копируете код на свою машину разработки Linux, компилируете и связываете с интерфейсным модулем GTK+. Это всё. Теперь вы только что создали Linux-версию продукта Windows без какого-либо дополнительного кодирования.
На данном этапе разработки Lazarus использует Win32, gtk2+, Carbon, Cocoa и QT в качестве набора виджетов API. Привязки для пользовательских нарисованных компонентов находятся в стадии разработки, а также планируются другие наборы виджетов.
Так действительно ли эта штука похожа на Delphi?
Это точно так. Полностью ли она завершена? Нет, пока нет. В целом IDE является полной и может использоваться для большинства задач программирования. Но некоторые аспекты проекта все еще нуждаются в доработке. Поэтому проект постоянно развивается (а вовсе не умер).
Можно ли использовать свой существующий Delphi-код?
Отчасти да. Если код является стандартным Delphi (Pascal) и в нем используются стандартные компоненты, найденные в Delphi, то ответ – да. Если он использует какую-то конкретную базу данных, OCX или DCU, то ответом будет "нет". Эти элементы специфичны для Windows и будут работать только на Windows и внутри нее. Однако, если вы хотите создать продукт для Windows только с использованием Free Pascal и Lazarus, то ответом будет "да". Это еще не было добавлено в LCL, но в будущем это должно стать возможным.
Можно ли создавать коммерческие продукты с помощью Lazarus?
Да. Код для компилятора Free Pascal распространяется под лицензией GPL. Это означает, что он с открытым исходным кодом, бесплатный, под каким бы названием вы его ни выбрали. Вы можете изменить код, если хотите, но вы ДОЛЖНЫ распространить эти изменения или сделать их доступными для других, если они захотят его использовать.
FCL (библиотеки компонентов Free Pascal) и LCL (которые в конечном итоге станут частью FCL) лицензируются по модифицированному LGPL. Это означает, что вы можете написать свое собственное проприетарное (несвободное, платное, коммерческое) программное обеспечение, которое просто ссылается на эти библиотеки. Вы можете продавать свое приложение без необходимости предоставлять свой код. Однако, как и в случае с компилятором, если вы вносите изменения в FCL или LCL, вы должны сделать эти изменения доступными для широкой публики и всего мира.
Почему это так называется?
Одним из оригинальных проектов, в котором была предпринята попытка создать клон Delphi, был Megiddo. Однако эта попытка провалилась. Lazarus (Лазарь), как вы знаете, был библейским персонажем, который был воскрешен из мертвых Христом. Проект назван Lazarus, поскольку он был начат/поднят после смерти Megiddo.