Lazarus (development environment)

from Wikipedia, the free encyclopedia
Lazarus

Laz banner.png
Lazarus Ubuntu 13.png
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:

The following operating systems are supported:

Cross-platform development

Interaction of the class libraries and widget sets in Lazarus and Free Pascal

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 .:

Versions

Legend:
Older version; no longer supported
Older version; still supported
Current version
Current preliminary version
Future version
Version number publication platform Remarks
Older version; no longer supported: 0.0.5 January 2001 Windows First publication of the component library.
Older version; no longer supported: 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.
Older version; no longer supported: 0.5 January 30, 2001 Windows, Linux Bug fixes and new features for cross-platform development and project templates.
Older version; no longer supported: 0.8 October 9, 2001 Windows, Linux CodeTools implemented, bug fixed.
Older version; no longer supported: 0.8.2 January 17, 2002 Windows, Linux Search functions improved.
Older version; no longer supported: 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.
Older version; no longer supported: 0.8.5 October 26, 2002 Windows, Linux LCL decoupled from interfaces.
Older version; no longer supported: 0.9.0.3 September 4, 2003 Linux First version hosted on SourceForge .
Older version; no longer supported: 0.9.1 February 27, 2004 Windows, Linux Support for packages, numerous new and improved properties.
Older version; no longer supported: 0.9.4 January 3, 2005 Windows Oldest public version hosted on SourceForge.
Older version; no longer supported: 0.9.6 February 25, 2005 Windows
Older version; no longer supported: 0.9.8 July 19, 2005 Windows
Older version; no longer supported: 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.
Older version; no longer supported: 0.9.12 February 7, 2006 Windows New package for the support of databases, CGI programs and printer support.
Older version; no longer supported: 0.9.14 April 2, 2006 Windows, Mac OS X (PPC) Bug fixes, new controls in the WinCE and Qt4 widgetsets.
Older version; no longer supported: 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.
Older version; no longer supported: 0.9.18 September 23, 2006 Windows, Mac OS X (PPC), Linux Bug fixes, procedure list implemented, new command line program "Lazbuild".
Older version; no longer supported: 0.9.20 November 5, 2006 Windows, Mac OS X (PPC), Linux Bug fixes, code folding implemented, QT widgetset improved.
Older version; no longer supported: 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.
Older version; no longer supported: 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.
Older version; no longer supported: 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.
Older version; no longer supported: 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.
Older version; no longer supported: 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.
Older version; no longer supported: 0.9.28.2 October 25, 2009 Windows, Mac OS X (Intel and PPC), Linux Primarily bug fixes.
Older version; no longer supported: 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.
Older version; no longer supported: 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.
Older version; no longer supported: 0.9.30.2RC2 October 26, 2011 Windows, Mac OS X (Intel and PPC), Linux Preliminary version for Lazarus 0.9.30.2.
Older version; no longer supported: 0.9.30.2 November 5, 2011 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Older version; no longer supported: 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.
Older version; no longer supported: 0.9.30.4RC2 March 7, 2012 Windows, Mac OS X (Intel and PPC), Linux Preliminary version for Lazarus 0.9.30.4.
Older version; no longer supported: 0.9.30.4RC3 March 11, 2012 Windows, Mac OS X (Intel and PPC), Linux Preliminary version for Lazarus 0.9.30.4.
Older version; no longer supported: 0.9.30.4 March 14, 2012 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Older version; no longer supported: 1.0RC1 July 29, 2012 Windows, Mac OS X (Intel), Linux Preliminary version for Lazarus 1.0.
Older version; no longer supported: 1.0RC2 August 21, 2012 Windows, Mac OS X (Intel and PPC), Linux Preliminary version for Lazarus 1.0.
Older version; no longer supported: 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.
Older version; no longer supported: 1.0.2 October 10, 2012 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, individual additions to the LCL and widgetsets.
Older version; no longer supported: 1.0.4 November 30, 2012 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, individual additions to the LCL and widgetsets.
Older version; no longer supported: 1.0.6 4th February 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, individual additions to the LCL and widgetsets.
Older version; no longer supported: 1.0.8 March 19, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, based on Free Pascal 2.6.2.
Older version; no longer supported: 1.0.10 June 12th, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Older version; no longer supported: 1.0.12 August 24, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Older version; no longer supported: 1.0.14 19th November 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Older version; no longer supported: 1.1.99 16th September 2013 Windows, Mac OS X, Linux Alpha version for Lazarus 1.2
Older version; no longer supported: 1.2RC1 3rd November 2013 Windows, Mac OS X, Linux Preliminary version for Lazarus 1.2
Older version; no longer supported: 1.2RC2 January 10, 2014 Windows, Mac OS X, Linux Preliminary version for Lazarus 1.2
Older version; no longer supported: 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.
Older version; no longer supported: 1.2.2 April 23, 2014 Windows, FreeBSD, Mac OS X, Linux Mainly bug fixes, based on Free Pascal 2.6.4.
Older version; no longer supported: 1.2.4 June 16, 2014 Windows, FreeBSD, Mac OS X, Linux Bug fixes.
Older version; no longer supported: 1.2.6 October 12, 2014 Windows, FreeBSD, Mac OS X, Linux Bug fixes.
Older version; no longer supported: 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
Older version; no longer supported: 1.4.2 July 14, 2015 Windows, FreeBSD, Mac OS X, Linux Bug fixes.
Older version; no longer supported: 1.4.4 4th October 2015 Windows, FreeBSD, Mac OS X, Linux Bug fixes.
Older version; no longer supported: 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
Older version; no longer supported: 1.6.2 November 13, 2016 Windows, FreeBSD, Mac OS X, Linux, etc. a. Bug fixes
Older version; no longer supported: 1.6.4 February 26, 2017 Windows, FreeBSD, macOS, Linux, etc. a. Mostly bug fixes. Integrates Free Pascal 3.0.2.
Older version; no longer supported: 1.8.0 December 6, 2017 Windows, FreeBSD, macOS, Linux, etc. a. u. a. High-DPI support, based on Free Pascal 3.0.4
Older version; no longer supported: 1.8.2 February 28, 2018 Windows, FreeBSD, macOS, Linux, etc. a. Bug fixes.
Older version; no longer supported: 1.8.4 May 22, 2018 Windows, FreeBSD, macOS, Linux, etc. a. Bug fixes.
Older version; still supported: 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
Older version; still supported: 2.0.2 April 16, 2019 Windows, FreeBSD, macOS, Linux, etc. a. Bug fixes.
Older version; still supported: 2.0.4 August 6, 2019 Windows, FreeBSD, macOS, Linux, etc. a. Bug fixes.
Older version; still supported: 2.0.6 1st November 2019 Windows, FreeBSD, macOS, Linux, etc. a. Bug fixes.
Older version; still supported: 2.0.8 April 16, 2020 Windows, FreeBSD, macOS, Linux, etc. a. Bug fixes, improved Cocoa widget set.
Current version: 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

Wikibooks: Programming course: Delphi  - learning and teaching materials
Commons : Lazarus  - collection of images, videos and audio files

Individual evidence

  1. forum.lazarus.freepascal.org .
  2. Free Pascal license ( Memento from July 1, 2012 in the Internet Archive ) (modified LGPL)
  3. Lazarus on Raspberry Pi / de
  4. ZenGL
  5. Allegro.pas
  6. ^ Castle Game Engine
  7. PSQL package
  8. TDbf component
  9. a b Zeoslib
  10. SQLdb
  11. Zeos
  12. "COPYING.txt" file from the online source code repository . Retrieved September 25, 2013.
  13. Lazarus 1.4.0 release notes
  14. Lazarus 1.6.0 release notes
  15. Lazarus 1.8.0 release notes