- Lazarus
-
Lazarus
версия 1.0Тип Автор Cliff Baeseman,
Shane Miller,
Michael A. Hess и др.Разработчики сообщество
Написана на Интерфейс графический (GTK+, Qt, Windows API)
Операционная система Linux, Mac OS X и др. UNIX-подобные, Windows, Android
Языки интерфейса Последняя версия 1.0.4 (30 ноября 2012[1])
Состояние активное
Лицензия Сайт 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.
Содержание
Функции
Основан на библиотеке визуальных компонентов 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
Недостатки
- Нет полной совместимости с 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]
ПО, написанное на 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.
Переход с Delphi
- Lazarus Components — Сравнение компонентов Lazarus и Turbo Delphi;
- Lazarus For Delphi Users — Для пользователей Delphi, которые хотят начать программировать в Lazarus;
- Code Conversion Guide — Как конвертировать существующий код и компоненты Delphi и Kylix в Lazarus.
Лицензия
Lazarus распространяется на условиях GNU General Public License, а значительная часть библиотек, в том числе LCL — на условиях модифицированной GNU Lesser General Public License.
См. также
Примечания
- ↑ Репозиторий Lazarus.
- ↑ Для создания новых приложений (после краткого ознакомления с отличиями от Delphi) можно также использовать альтернативную кроссплатформенную среду разработки для FreePascal — MSE.
- ↑ Учебники и справочники по Lazarus
- ↑ LCL Unicode Support
Учебники по Lazarus и Pascal
- Описание Free Pascal и Lazarus — Краткое описание возможностей этих средств разработки;
- Учебник Lazarus — Учебник для начинающих и детальное описание интерфейса Lazarus IDE;
- Инструменты IDE Lazarus — Учебник промежуточного уровня о кодах завершения и других инструментах IDE;
- Учебник Lazarus и Базы данных — Введение по работе Lazarus с базами данных;
- Developing with Graphics — Несколько основных примеров программирования графики;
- Tao Yue’s Pascal Tutorial
- Объектно ориентированное программирование в FreePascal и Lazarus — Объектно-ориентированое программирование для начинающих;
- Программирование с помощью объектов и классов — Учебник по объектно-ориентированному программированию на FPC;
- Запуск внешних программ — Краткое обучение по запуску внешних программ из разрабатываемой;
- Создание многопоточных приложений — Как разработать многопоточные приложения при помощи Free Pascal и Lazarus;
- Streaming components — Как записать компоненты в потоки, а также читать и создавать компоненты из потоков;
- Библиотеки в Lazarus/FPC — Как создавать и использовать динамические библиотеки (.so, .dll, .dylib);
- Daemons and Services — Как разрабатывать службы windows и/или демоны linux.
- Lazarus Inline Assembler — начальное руководство;
- Алексеев Е. Р., Чеснокова О. В., Кучер Т. В. Free Pascal и Lazarus: Учебник по программированию. — М.: Альт Линукс, ДМК Пресс, 2010. — 440 с. — (Библиотека ALT Linux). — ISBN 978-5-94074-611-9
- M. van Canneyt, M. Gartner, S.Heinig, F.Monteiro de Cavalho, I.Ouedraogo Lazarus, the Complete Guide. — Blaise Pascal Magazine, 2011. — 735 с. — ISBN 978-9490968021
- Mattias Gaertner Lazarus for Cross-Platform Development (англ.) // Linux Journal. — Belltown Media, Inc., 2009. — В. 185.
Ссылки
- Официальный сайт Lazarus.
- Проект Lazarus на SourceForge.net.
- Lazarus Code and Component Repository на SourceForge.net.
- Описание библиотеки визуальных компонентов LCL (Lazarus Component Library).
- Описание библиотеки RTL (Free Pascal Run-Time Library).
- Описание библиотеки FCL (Free Component Library).
- База знаний о Free Pascal, Lazarus и родственных проектах (на русском и других языках).
- Lazarus. Секреты и советы
- FreePascal.ru — русскоязычный сайт с материалами по Free Pascal и Lazarus IDE
IDE (сравнение) Универсальные Anjuta • Visual Studio • NetBeans • Eclipse • KDevelop • Xcode • Geany • MonoDevelop • Aptana Studio • Open Watcom • Komodo • Kylix
Си/C++ Borland C++ • C++ Builder • Code::Blocks • CodeLite • wxDev-C++ • Pelles C • Oracle Solaris Studio • Qt Creator • Ultimate++ • Microsoft QuickC
Бейсик PowerBASIC • Turbo Basic • Visual Basic • QBasic • QuickBASIC • PureBasic
Java WebLogic • BlueJ • DrJava • Greenfoot • JCreator • JDeveloper • IntelliJ IDEA • JBuilder • JGRASP
Паскаль Delphi • Lazarus • MSE • PascalABC.NET • MIDletPascal • PocketStudio • Morfik • Turbo Pascal • QuickPascal • Visible Pascal • Geany
PHP Aptana Studio with PHP plugin • Delphi for PHP (RadPHP) • Eclipse PDT • Zend Studio • NuSphere PhpED • PHP Expert Editor • phpStorm • Adobe Dreamviewer
Python ActionScript Adobe Flash • Adobe Flash Builder • FlashDevelop • CodeDrive • IntelliJ IDEA • Eclipse FDT • Realaxy ActionScript Editor
Ruby Pascal Диалекты Clascal • Concurrent Pascal • Delphi • Pascal • Object Pascal • Oxygene • SuperPascal
Компиляторы Коммерческие C/AL • Delphi • Delphi Prism (Oxygene) • FrameworkPascal • HP Pascal • IP Pascal • PocketStudio • Prospero Pascal
Бесплатные ACK • Free Pascal • GNU Pascal • MIDletPascal • Pic Micro Pascal • Turbo51 • Vector Pascal[1]
Неподдерживаемые JRT • Microsoft Pascal • Object Pascal (Apple) • Pascal/MT+ • THINK Pascal • Turbo Pascal • UCSD Pascal • Virtual Pascal
IDE Delphi • Lazarus • MSEide+MSEgui • PascalABC.NET
Персоны Никлаус Вирт • Ларри Теслер (англ.) • Андерс Хейлсберг
Инструменты разработки элементов графического интерфейса Низко-
уровневыеMacintosh Toolbox/Carbon • Windows API • Intrinsics • Intuition • Xlib
Высоко-
уровневыеAmiga OS BOOPSI • Magic User Interface • Zune • ReAction GUI
Mac OS и
Mac OS XCocoa • MacApp • MacZoop • PowerPlant
Microsoft
WindowsUNIX, под X Кросс-
платфор-
менныеНа основе Flash ASWing • Adobe Flex • Gnash • SWF2EXE Software
На основе XML,
AJAX или SVGAmple SDK • CougarXML • Dojo Toolkit • Echo • ExtJS • GladeXML • Google Web Toolkit • jQuery • Lively Kernel • MooTools • Pyjamas • qooxdoo • Rialto Toolkit • script.aculo.us • XML User Interface • XUL • Yahoo! UI Library
На основе Java На основе
C или C++Agar • CEGUI • Component Library for Cross Platform • dlib C++ Library • FLTK • FOX toolkit • OpenGL User Interface Library • GTK+ • IUP • Juce • JX Application Framework • Qt • TnFOX • Visual Component Framework • wxWidgets • YAAF • XForms • XVT • Ultimate++
На основе Common Lisp CAPI • Common Graphics • CLIM • McCLIM • Garnet
На основе Pascal IP Pascal • Lazarus • fpGUI • FireMonkey
На основе Python На основе Objective C На основе других Категории:- Программное обеспечение по алфавиту
- Интегрированные среды разработки
- Free Pascal
- Свободные интегрированные среды разработки
- Кроссплатформенное программное обеспечение
- Программное обеспечение для Mac OS X
- Программное обеспечение для Linux
- Программное обеспечение для Windows
- Программное обеспечение с лицензией GNU GPL
Wikimedia Foundation. 2010.