АвторработыВ. И. ЗвездинаНаправление:44.03.05Педагогическоеобразование
ПрофильФизика.Информатика
Руководительработы
канд.пед.наук,доцентТ.В.Кормилицына
Оценка
Саранск2022
Содержание
Введение 3
Характеристики 4
Распространениеилицензирование 5
Историясоздания 6
Версии 9
Заключение 18
Списокиспользованныхисточников 19
Введение
Lazarus - это IDE (Integrated Development Environment) - Интегрирован-ная Среда Разработки программ, использующая компилятор FPC (Free PascalCompiler), редакторы кода, форм, Инспектор Объектов, отладчик и многиедругиеинструменты.
До сих пор среды разработки программ, подобные Lazarus, были ис-ключительно платными. Lazarus же стал первой (и пока единственной) IDE,доступнойобразовательнымигосударственнымучреждениямсовершеннобесплатно. Более того, Lazarus является проектом Open Source - проектом соткрытым исходным кодом. Многие программисты по всему миру принима-ют участие в его развитии, исходный код Lazarus доступен для изучения имодификации. Lazarus имеет поддержку множества языков, в том числе ирусского, что выгодно отличает его от других IDE. На данный момент явля-ется единственным инструментом, позволяющим достаточно несложно пере-носить Delphi-программы с графическим интерфейсом в различные операци-онныесистемы: Linux,FreeBSD,MacOS X,Microsoft Windows.
Характеристики
Lazarus предоставляет очень наглядную среду разработки для созданиябогатых пользовательских интерфейсов, логики приложений и других вспо-могательных артефактов кода, похожих на Borland Delphi. Наряду с функци-ями управленияпроектами,LazarusIDEтакжепредоставляет:
То, что вы видите, - это то, что вы получаете визуальный конструктормакетовWindows
Графические виджеты или визуальные компоненты, такие как поля ре-дактирования,кнопки,диалоговые окна,менюи т.д.
Невизуальные компоненты для общего поведения, такие как сохране-ниенастроек приложения
Компоненты подключения к даннымдляMySQL,PostgreSQL,FireBird,Oracle,SQLite,Sybaseидругих
Наборвиджетовсподдержкойданных,позволяющийразработчикупросматривать данные в визуальных компонентах конструктора для об-легченияразработки
Интерактивныйотладчиккода
Завершениекода
Шаблоныкода
Подсветкасинтаксиса
Контекстно-зависимаясправка
Менеджер текстовых ресурсов для интернационализации(internationalization)
Автоматическоеформатированиекода
Возможностьсозданияпользовательскихкомпонентов
Распространениеилицензирование
Как и Free Pascal, Lazarus является свободным программным обеспе-чением. Различные части распространяются под разными лицензиями на сво-бодное программное обеспечение, включая GPL, LGPL, MPL и модифициро-ваннуюверсиюLGPL.
В частности, LCL, который статически встроен в создаваемые испол-няемые файлы, лицензируется в соответствии с модифицированной версиейLGPL, предоставляющей дополнительные разрешения, позволяющие стати-чески встроить его в создаваемое программное обеспечение, включая про-приетарные.
Установка пакета разработки эквивалентна подключению к IDE, такчто распространение IDE Lazarus с предварительно установленным пакетомразработки, несовместимым с GPL, таким как пакеты JEDI, лицензированныепо публичной лицензии Mozilla, приведет к нарушению лицензии. Это не за-прещаетразработкупроприетарныхпакетовс помощьюLazarus.
Историясоздания
Разработка Lazarus уходит своими корнями в проект Megido. Это былапервая попытка сделать opensource-клон Delphi, которая опиралась на исход-ный код Sybil (который был клоном Delphi для OS/2, несмотря на ограничен-ный дизайнер форм). Megido стартовал в 1998 году, но умер где-то в 1999-ом,из-заотсутствиявнимания,иотсутствиезаинтересованностивоснованномнаSybilклоне,наследующем ограничения Sybil.
Врезультате,тричеловека(КлиффБэйсеман/CliffBaeseman,ШейнМиллер/Shane Miller и Майкл Хесс/Michael A. Hess) начали работу над про-ектом Lazarus в феврале 1999 года. Каждый из них ранее пытался участво-вать в проекте Megido, когда тот ещѐ был жив. Однако, разочаровавшись вMegido,ониначалисобственныйпроект—Lazarus.
СледующимучастникомкомандыLazarusсталМаркВэстинк(MarcWeustink). Он примкнул к проекту вавгусте 1999 года. Марк смотрел наLinux Delphi (в то время Borland ещѐ не разработал Kylix). Он также интере-совалсяLinuxвцелом,иименнорадиэтогоприсоединилсяккомандеLazarus. К моменту присоединения Марка Lazarus представлял собой всеголишь пустую панель инструментов и некоторые пункты меню на голом GTK.Редактор только обсуждался. Сейчас Марк по-прежнему является активнымразработчиком,внося свой вклад винтерфейсотладчика.
Через год после Марка, в сентябре 2000 года, к команде присоединилсяМаттиас Гаэртнер (Mattias Gaertner). С помощью Маттиаса команде Lazarusудалосьзначительнопродвинутьсявперѐд.МаттиаспортировалSynedit,написал значительную часть codetools и дизайнера форм. С этими дополне-ниями Lazarus стал выглядеть привлекательнее. Спустя три года Маттиас до-бавил систему пакетов и продолжил работу над новыми функциями IDE исовершенствованиемуже написанных.
Миха Нелиссен (Micha Nelissen) начал вносить свой вклад в проект виюне2003года,восновномотправляяпатчидляинтерфейсаwin32.Онис-
пользовал Borland C++ Builder, но хотел также портировать код на другиеплатформы. Поскольку Borland добавить в VCL свои собственные расшире-нияязыкаC++,вероятностькогда-либопортироватьBCB-коднадругиеплатформы была невелика. Смена языка разработки не была для Михи про-блемой из-за схожести окружения. В то время Lazarus был основан на GTKдля win32 и Linux. На Linux он работал очень хорошо, но в win32 это былисплошные баги. К тому же пользователи Lazarus всѐ чаще просили роднойwin32-интерфейс, и Миха вступил в проект, чтобы помочь с реализациейwin32-интерфейса.
Винсент Снейдерс (Vincent Snijders) получил ссылку на Lazarus и FPCлетом 1999 года, когда впервые попробовал Linux на своѐм компьютере, истолкнулся с необходимостью использовать ПО для математического моде-лирования, написанное на Delphi. Он включился в проект и убедился, чтоLazarus запускается на Windows. После окончания университета в 2003 годуон стал больше времени уделять Lazarus и начал отправлять свои патчи дляпроекта. Его основной целью было получить Lazarus для Windows, работаю-щий так жехорошо,как LazarusдляLinux,а такжесборкиLazarus.
Фелипе Монтейро де Карвалью (Felipe Monteiro de Carvalho) стал по-сматривать на Lazarus в 2005 году, когда была в ходу версия 0.9.6. Фелипенадеялся использовать Lazarus в качестве замены для Delphi, особенно наLinux. Он столкнулся с рядом проблем, когда впервые попытался использо-вать Lazarus, но так как он увидел огромный потенциал проекта, он решилпродолжать работу с ним. Он считает, что его цель — создание полностьюфункциональной кросс-платформенной альтернативы Delphi для своих про-ектов — уже достигнута. Изначально Фелипе только отправлял отчѐты пообнаруженным в Lazarus ошибкам и занимался документацией, однако позжеон стал и сам писать код Lazarus. На протяжении многих лет он закладывалфундаментмногочисленныхинтерфейсов,включаяQt4, WinCE,fpGUI иCocoa.ОндобавилкомпонентTTrayIcon,биндингиPasCocoaиинтерфейс
Windows CE. Также он пишет статьи для Toolbox Magazine и является авто-ромнескольких главкниги«Lazarus—The CompleteGuide».
Павел Ишенин узнал о Lazarus во время работы с FastCube 1.0, в январе2007 года. Он решил портировать FastCube для FPC и Lazarus, и сделал свойпервый порт. Процесс был довольно простым, но кое-что не получилось — вчастности, курсор drag/drop. На том этапе реализации Lazarus поддержка ра-боты с курсорами была далеко не полной. Павел начал экспериментировать споддержкой курсоров, по крайней мере, для платформы Windows. Он ис-пользовал IRC-канал для обсуждения совместно с разработчиками Lazarus, иначал отправлять патчи Марку Вэстинку. К удивлению Павла, Марк не при-нял первый патч целиком, поскольку Павел не уделил должного вниманияразделению кода между LCL и widgetset’ами. После того, как Павел реализо-вал поддержку курсоров для GTK, GTK2 и Carbon, а также сделал несколькопатчей, ему предоставили право на запись изменений в svn. Позже Павелучаствовал в развитии виджетсетов для GTK2, Qt и win32, а также в работенад IDE.Егоосновная цель—очиститьотошибок win32-частьLCL.
ЖелянРикало(ZeljanRikalo)началвноситьсвойвкладввиджетсетQtв 2007 году, отправив патчи Фелипе. Летом 2007 года он получил доступ назаписьвsvn.В настоящеевремяон работаетнадQt,GTK2иLCL.
Мартин Фрибе (Martin Friebe) начал свой вклад в Lazarus с очистки ирефакторинга кода SynEdit код. С тех пор он добавил много новых функций,таких как syncro edit. Позже он добавил многооконный интерфейс редактораисходного кодаи значительноулучшилотладчик.
Юха Маннинен (Juha Manninen) присоединился к команде в 2009 году,начав с исправления ошибок, а затем стал руководить работой над конверте-ром из Delphi. После значительного улучшения в работе конвертера Юха за-нялся другими вопросами, в частности — исправлением ошибок и улучше-ниямивIDE.
Версии
Номерверсии
Датавыхода
Платформа
Комментарии
0.0.5
Январь 2001
Windows
Первыйвыпускбиблиотекикомпонентов
0.1
Январь 2001
Windows
Редизайн библиотеки компонентов для под-держкиразработкисучетомплатформыдляLinux иWindowsсиспользованием GTK +
идругихнабороввиджетов.
0.5
30 января 2001
Windows,Linux
Исправлены ошибки и добавлены новыефункции,поддерживающиекроссплатфор-меннуюразработкуискелетыпроекта.
Внутренняя графическая система была пе-реписана. LCL теперь использует строкиUnicode, закодированные как UTF-8 на всехплатформах. Справка FPDoc во всплываю-щих подсказках. Первая версия для запускасиспользованиемнаборавиджетовCarbonв
Основан на Free Pascal 3.2.2. Многочислен-ные улучшения, среди прочего, в IDE, LCL инаборахвиджетов.[7]
2.2.2
19мая2022
Windows32bit
/ 64bit, macOS(ARMиIntel),BSD, Linux
Выпускисправленияошибок.
2.2.4
28 сентября
2022года
Windows32bit
/ 64bit, macOS(ARMиIntel),BSD, Linux
Выпускисправленияошибок.
Примерыприложений,созданных спомощью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,HalloNorthernSky- бесплатная программадля планетариев для Windows и Linux. Начиная с версии 3.4.0, написанной искомпилированнойспомощьюLazarus/FPC.
MyNotex - это бесплатная программа для Linux, полезная для со-зданиятекстовыхзаметоки управленияими.
PeaZip - это архиватор с открытым исходным кодом, созданный спомощьюLazarus/FPC.
DoubleCommander -этокроссплатформенныйфайловыймене-джер с открытым исходным кодом с двумя соседними панелями. Он вдохнов-лен TotalCommander,а такженекоторыми новымиидеями.
CudaText - это кроссплатформенный текстовый редактор с откры-тымисходным кодом.
Coedit (переименованный в Dexed) - это IDE для языка програм-мированияD.
Tranzistow -32/64-разрядныйпрограммныйсинтезатордляWindows и Linux,разработанный сFreePascal/Lazarus.
Simba- это программа автоматизации, которая облегчает автома-тизациюиповторениеопределенных программируемыхсложных задач.
Заключение
Lazarus—этостабильная богатаявозможностямисреда разработкидлясозданиясамостоятельныхграфическихиконсольныхприложений.Внастоящее время она работает на Linux, FreeBSD и Windows и предоставляетнастраиваемый редактор кода и визуальную среду создания форм вместе сменеджером пакетов, отладчиком играфическим интерфейсом, полностьюинтегрированнымскомпилятором FreePascal.
В Lazarus используется технология технологии визуального проекти-рования и событийного программирования, применение которых позволяетсущественно сократить время разработки и процесс созданий приложений.Технология визуального проектирования позволяет пользователю оформлятьбудущую программу (приложение) и видеть результаты своей работы еще дозапуска самой программы. Пользователь для создания графического интер-фейса приложения использует готовые компоненты, значки которых находят-сяна панели компонентов.Атакже, например,длязаданиякаких-нибудьсвойств компоненту разрабатываемого приложения можно изменить свойствов нужном окне. Это изменение автоматически дополнит или модифицируеткод программы.
Списокиспользованныхисточников
АлексеевЕ.Р.,ЧесноковаО.В.,КучерТ.В.-«Самоучительпопрограммированияна FreePascalиLazarus»-2011 год.
АчкасовВ.Ю.,Программированиена Lazarus–2018год.
Беляков А.Ю. Прикладное программирование в Lazarus: Учебноепособие/;М-вос.-х.РФ;ФГБОУВОПермскийГАТУ.–Пермь:Изд-воФГБОУВПОПермскийГАТУ,2019–114с.
Гуриков С.Р. Основы алгоритмизации и программирования в сре-деLazarus:учебноепособие. –М.: ФОРУМ:ИНФАРМ,2019.–336 с.