Lazarus (development environment)
Lazarus
|
|
---|---|
Lazarus IDE 1.0.10 |
|
Basic data
|
|
Maintainer | Volunteers (Lazarus Team) |
developer | Cliff Baeseman, Shane Miller, Michael A. Hess and others. a. |
Current version |
2.0.10 ( July 11, 2020 ) |
operating system | Platform independent |
programming language | Object Pascal |
category | IDE |
License | GPL (source code) / modified LGPL (libraries, headers) |
German speaking | Yes |
www.lazarus-ide.org |
Lazarus is a free development environment for Rapid Application Development (RAD) with the programming languages Pascal and Object Pascal , which is based on the Free Pascal compiler .
description
Lazarus is based on Embarcadero Delphi (formerly Borland Delphi), in contrast to other integrated development environments (IDE) for Pascal , which have an interface based on Turbo Pascal . The Lazarus Component Library (LCL) is very similar to Borland Delphis VCL . Most of the units, classes and properties have the same name and functionality. Lazarus is also suitable for developers of proprietary software, as the LCL component library is licensed under the conditions of a modified LGPL .
Lazarus enables the quick creation of graphical user interfaces (GUI) and currently offers support for the GUI toolkits GTK + or GTK2 (with Gnome support), Qt , Carbon (Mac OS X), Windows CE and WinAPI (Win32 Forms) at a high level Degree of abstraction, which makes the generated code in connection with Free Pascal to a high degree platform-independent .
Once created, source code can usually be compiled and executed on supported operating systems (currently mainly Linux , macOS and Windows ) without any problems .
The project name "Lazarus" is based on the name of the biblical figure Lazarus (Hebrew "God helped"). After the Megido project failed in 1999, the developers started a new project called Lazarus, which was developed as a visual programming environment for Free Pascal.
Functions
- Supports multiple operating systems
- WYSIWYG editor for creating user interfaces ("Designer")
- Syntax highlighting (highlighting of keywords)
- Code completion (automatic completion)
- Lazarus can compile itself (e.g. for individual optimization)
- Many setting options
- Delphi projects can be ported quite easily
Platforms
Supported Platforms
In version 0.9.30 Lazarus supports the following architectures:
- PowerPC
- PowerPC64
- IA-32 ( Intel 80386 and compatibles)
- AMD64 (x86_64)
- POOR
- SPARC (in development)
- m68K (in development)
- In preparation: IA-64 , MIPS , Alpha and AVR
The following operating systems are supported:
- macOS (PowerPC and Intel)
- Mac OS Classic (under development)
- Android : in the development version Lazarus 1.3 + FreePascal 2.7.1, downloadable laz4android or LazToApk (laz4android + APK images)
- Linux (x86, x86-64, ARM)
- Raspbian (Raspberry Pi)
- FreeBSD (Intel)
- Win32
- Win64
- WinCE
- OS / 2 (without visual programming environment)
- Haiku (in development)
- SunOS (in development)
- Game Boy Advance (under development, without visual programming environment)
- Nintendo DS (under development, without visual programming environment)
- Palm OS (under development, without visual programming environment)
- Symbian OS (under development, without visual programming environment)
- Amiga OS (in an older version and without a visual programming environment)
Lazarus on Linux (openSUSE 11, KDE environment)
Cross-platform development
Lazarus uses the Free Pascal compiler . This means that programs for all operating systems and processor architectures that are supported by Free Pascal can be written.
The Free Component Library is available for developing graphical user interfaces .
Game development
There are some packages that enable game development with Lazarus:
- nxPascal
- ZenGL
- Allegro.pas
- Castle game engine
Database development
Developers can install packages that allow Lazarus to support various databases. Programs can interact with the databases via the program code or via components.
The following databases are directly supported:
- PostgreSQL , with the PSQL package
- dBASE and FoxPro can be used with the TDbf component without an external server or library.
- MySQL
- InterBase / Firebird works with the standard SQL DB package and the open source IBX for Lazarus.
- SQLite requires an external library and the TSqliteDataset component.
- MSSQL works with Zeoslib. FPC versions after 2.6.0 allow FreeTDS MSSQL access.
- InterBase / Firebird also work with the latest Zeoslib.
- SQLdb support connections to PostgreSQL , Oracle , ODBC , MySQL , SQLite and InterBase .
- ZeosDBO, originally written for Delphi, now also works with Lazarus.
- CSV, SDF, etc. a. are also supported.
restrictions
- Lazarus is not open source - clone of Embarcadero Delphi and therefore not fully compatible. However, a lot works in a similar way.
- Multiple media and network libraries are not yet available for all platforms.
Distributions and licensing model
Like Free Pascal , Lazarus is free software . Different components are licensed under different free software , e.g. a. GPL , LGPL , MPL and a modified version of the LGPL.
In particular, the LCL, which is statically integrated into the generated programs, is available under a modified version of the LGPL, which grants special rights for integration into the generated software and also includes proprietary software .
Lazarus is officially distributed through SourceForge . However, there are also alternative and partly unofficial distributions , u. a .:
- FreeSparta , a commercial distribution that, in addition to improved editor functions, etc. a. contains additional components.
- Versions of Lazarus Support , a commercial service provider for development with Lazarus and Free Pascal
- Code Typhon - Distribution, a cross-platform development package with additional tools, libraries and component packages
- Distribution of getlazarus.org , versions for different operating systems based on the current development branches.
- Ubuntu LiveCDs with Lazarus from the University of Applied Sciences Upper Austria
Versions
Version number | publication | platform | Remarks |
---|---|---|---|
0.0.5 | January 2001 | Windows | First publication of the component library. |
0.1 | January 2001 | Windows | Revision of the component library to support platform-sensitive development for Linux and Windows with GTK + and other widget sets. |
0.5 | January 30, 2001 | Windows, Linux | Bug fixes and new features for cross-platform development and project templates. |
0.8 | October 9, 2001 | Windows, Linux | CodeTools implemented, bug fixed. |
0.8.2 | January 17, 2002 | Windows, Linux | Search functions improved. |
0.8.4 | August 19, 2002 | Windows, Linux | Graphics and font support improved, compatibility with Delphi 6 syntax. Binary DFMs can now be automatically converted to LFMs. |
0.8.5 | October 26, 2002 | Windows, Linux | LCL decoupled from interfaces. |
0.9.0.3 | September 4, 2003 | Linux | First version hosted on SourceForge . |
0.9.1 | February 27, 2004 | Windows, Linux | Support for packages, numerous new and improved properties. |
0.9.4 | January 3, 2005 | Windows | Oldest public version hosted on SourceForge. |
0.9.6 | February 25, 2005 | Windows | |
0.9.8 | July 19, 2005 | Windows | |
0.9.10 | October 3, 2005 | Windows, macOS (PPC) | Bug fixes, expandability of IDE improved, document editor for FPDoc files integrated. Includes Free Pascal 2.0.1. |
0.9.12 | February 7, 2006 | Windows | New package for the support of databases, CGI programs and printer support. |
0.9.14 | April 2, 2006 | Windows, Mac OS X (PPC) | Bug fixes, new controls in the WinCE and Qt4 widgetsets. |
0.9.16 | May 28, 2006 | Windows, Mac OS X (PPC), Linux | Bug fixes, online help for IDE windows and LCL applications, improvements to the QT widgetset interface. Includes Free Pascal 2.0.2. |
0.9.18 | September 23, 2006 | Windows, Mac OS X (PPC), Linux | Bug fixes, procedure list implemented, new command line program "Lazbuild". |
0.9.20 | November 5, 2006 | Windows, Mac OS X (PPC), Linux | Bug fixes, code folding implemented, QT widgetset improved. |
0.9.22 | March 26, 2007 | Windows, Mac OS X (PPC), Linux | New components for the development of Windows services and Linux daemons, support for user-defined mouse pointers. Contains Free Pascal 2.0.4. |
0.9.24 | November 15, 2007 | Windows, Mac OS X (Intel and PPC), Linux | First stable version for Win64, WinCE and Intel-based computers with Mac OS X. Improvements to the Qt, Carbon and Gtk2 widgetset interfaces. Toolbar made more flexible. Includes Free Pascal 2.2.0. |
0.9.26 | October 5, 2008 | Windows, Mac OS X (Intel and PPC), Linux | Complete redesign of the internal graphics system. LCL now uses UTF-8 encoded Unicode strings on all platforms. FPDoc help in tooltips. First version that itself runs natively in the Carbon widget set on Mac OS X. |
0.9.26.2 | March 13, 2009 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes, improved icon support. Contains Free Pascal 2.2.2. |
0.9.28 | September 29, 2009 | Windows, Mac OS X (Intel and PPC), Linux | Editor and debugger improvements. Support for double-byte character sets (including Eastern, Japanese, Chinese, and Arabic). File size of the generated programs reduced. Contains Free Pascal 2.2.4. |
0.9.28.2 | October 25, 2009 | Windows, Mac OS X (Intel and PPC), Linux | Primarily bug fixes. |
0.9.30 | March 22, 2011 | Windows, Mac OS X (Intel and PPC), Linux | Numerous new functions, including a. Support for docking and multiple source code windows. Contains Free Pascal 2.4.2. |
0.9.30.2RC1 | September 30, 2011 | Windows, Mac OS X (Intel and PPC), Linux | Contains Free Pascal 2.4.4. Preliminary version for Lazarus 0.9.30.2. |
0.9.30.2RC2 | October 26, 2011 | Windows, Mac OS X (Intel and PPC), Linux | Preliminary version for Lazarus 0.9.30.2. |
0.9.30.2 | November 5, 2011 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes. |
0.9.30.4RC1 | March 3, 2012 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes. Includes Free Pascal 2.6.0. Preliminary version for Lazarus 0.9.30.4. |
0.9.30.4RC2 | March 7, 2012 | Windows, Mac OS X (Intel and PPC), Linux | Preliminary version for Lazarus 0.9.30.4. |
0.9.30.4RC3 | March 11, 2012 | Windows, Mac OS X (Intel and PPC), Linux | Preliminary version for Lazarus 0.9.30.4. |
0.9.30.4 | March 14, 2012 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes. |
1.0RC1 | July 29, 2012 | Windows, Mac OS X (Intel), Linux | Preliminary version for Lazarus 1.0. |
1.0RC2 | August 21, 2012 | Windows, Mac OS X (Intel and PPC), Linux | Preliminary version for Lazarus 1.0. |
1.0 | August 28, 2012 | Windows, Mac OS X (Intel and PPC), Linux | First final version, contains Free Pascal 2.6.0. Contains a number of improvements and enhancements to the IDE, including a. Macro function, improved code folding and extended debugger functions. |
1.0.2 | October 10, 2012 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes, individual additions to the LCL and widgetsets. |
1.0.4 | November 30, 2012 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes, individual additions to the LCL and widgetsets. |
1.0.6 | 4th February 2013 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes, individual additions to the LCL and widgetsets. |
1.0.8 | March 19, 2013 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes, based on Free Pascal 2.6.2. |
1.0.10 | June 12th, 2013 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes. |
1.0.12 | August 24, 2013 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes. |
1.0.14 | 19th November 2013 | Windows, Mac OS X (Intel and PPC), Linux | Bug fixes. |
1.1.99 | 16th September 2013 | Windows, Mac OS X, Linux | Alpha version for Lazarus 1.2 |
1.2RC1 | 3rd November 2013 | Windows, Mac OS X, Linux | Preliminary version for Lazarus 1.2 |
1.2RC2 | January 10, 2014 | Windows, Mac OS X, Linux | Preliminary version for Lazarus 1.2 |
1.2 | 4th March 2014 | Windows, Mac OS X, Linux | Numerous new functions, including a. Macro editor, support for layered graphs and integration of Pascal Script . Based on Free Pascal 2.6.2. |
1.2.2 | April 23, 2014 | Windows, FreeBSD, Mac OS X, Linux | Mainly bug fixes, based on Free Pascal 2.6.4. |
1.2.4 | June 16, 2014 | Windows, FreeBSD, Mac OS X, Linux | Bug fixes. |
1.2.6 | October 12, 2014 | Windows, FreeBSD, Mac OS X, Linux | Bug fixes. |
1.4 | April 22, 2015 | Windows, FreeBSD, Mac OS X, Linux | Numerous improvements, including a. of the editor and the resource management, based on Free Pascal 2.6.4 |
1.4.2 | July 14, 2015 | Windows, FreeBSD, Mac OS X, Linux | Bug fixes. |
1.4.4 | 4th October 2015 | Windows, FreeBSD, Mac OS X, Linux | Bug fixes. |
1.6 | February 18, 2016 | Windows, FreeBSD, Mac OS X, Linux, etc. a. | Numerous improvements, including a. of the editor, project groups and docking, based on Free Pascal 3.0.0 |
1.6.2 | November 13, 2016 | Windows, FreeBSD, Mac OS X, Linux, etc. a. | Bug fixes |
1.6.4 | February 26, 2017 | Windows, FreeBSD, macOS, Linux, etc. a. | Mostly bug fixes. Integrates Free Pascal 3.0.2. |
1.8.0 | December 6, 2017 | Windows, FreeBSD, macOS, Linux, etc. a. | u. a. High-DPI support, based on Free Pascal 3.0.4 |
1.8.2 | February 28, 2018 | Windows, FreeBSD, macOS, Linux, etc. a. | Bug fixes. |
1.8.4 | May 22, 2018 | Windows, FreeBSD, macOS, Linux, etc. a. | Bug fixes. |
2.0.0 | 5th February 2019 | Windows, FreeBSD, macOS, Linux, etc. a. | Cocoa & QT 5 widgetsets / Pascal to JavaScript transpiler (level ECMAScript 5 ) incl. IDE integration |
2.0.2 | April 16, 2019 | Windows, FreeBSD, macOS, Linux, etc. a. | Bug fixes. |
2.0.4 | August 6, 2019 | Windows, FreeBSD, macOS, Linux, etc. a. | Bug fixes. |
2.0.6 | 1st November 2019 | Windows, FreeBSD, macOS, Linux, etc. a. | Bug fixes. |
2.0.8 | April 16, 2020 | Windows, FreeBSD, macOS, Linux, etc. a. | Bug fixes, improved Cocoa widget set. |
2.0.10 | July 11, 2020 | Windows, FreeBSD, macOS, Linux, etc. a. | Bug fixes, minor additions, first version based on Free Pascal 3.2.0. |
In general, published versions are labeled with even version numbers. As with Free Pascal, uneven version numbers stand for test and development versions as well as snapshots. Therefore, the names of the published versions advance in steps of two.
literature
- Michael van Cannëyt: Lazarus: Working with IDE and class libraries . Computer & Literatur, Böblingen, 2nd edition 2011, ISBN 978-3-936546-63-7
- Wilfried Koch: Professional programming from the beginning with Free Pascal and the free development environment Lazarus, part 1. Oberkochener Medienverlag, Oberkochen, 2016, ISBN 978-3-945899-01-4
- Wilfried Koch: Professional programming right from the start with FreePascal and the free development environment Lazarus, part 2. Oberkochener Medienverlag, Oberkochen, 2020, ISBN 978-3-945899-25-0
- Blaise Pascal Magazine. Journal about Pascal with a focus on Lazarus and Free Pascal (English, Dutch and Portuguese)
- Lazarus book on the ZUM-Wiki A German-language online textbook for Lazarus, which is primarily (but not only) aimed at schoolchildren.
Web links
- lazarus.freepascal.org (English)
- German homepage of the Lazarus Wiki
- Lazarusforum.de - Web forum of the German-speaking community
- Overview for beginners with a focus on Lazarus with Firebird and ZEOS in German
- Lazarus Support: Professional, partly commercial English-language help for installing and using Lazarus
Individual evidence
- ↑ forum.lazarus.freepascal.org .
- ↑ Free Pascal license ( Memento from July 1, 2012 in the Internet Archive ) (modified LGPL)
- ↑ Lazarus on Raspberry Pi / de
- ↑ ZenGL
- ↑ Allegro.pas
- ^ Castle Game Engine
- ↑ PSQL package
- ↑ TDbf component
- ↑ a b Zeoslib
- ↑ SQLdb
- ↑ Zeos
- ↑ "COPYING.txt" file from the online source code repository . Retrieved September 25, 2013.
- ↑ Lazarus 1.4.0 release notes
- ↑ Lazarus 1.6.0 release notes
- ↑ Lazarus 1.8.0 release notes