Lazarus (IDE)

For other uses, see Lazarus (disambiguation).
Lazarus

Lazarus IDE 1.0 running on Mac OS X
Developer(s) Volunteers (Lazarus Team)
Stable release
1.6.2 / November 13, 2016 (2016-11-13)
Repository sourceforge.net/p/lazarus/code/HEAD/tree/
Development status Active
Written in Object Pascal
Operating system Cross-platform, including Linux, Mac OS X, Microsoft Windows, FreeBSD, Solaris
Platform x86, x86-64, ARM, IA-32, PowerPC
Available in Multi-language
Type RAD tool for Pascal and Object Pascal
License GNU General Public License, GNU Lesser General Public License, and others
Website www.lazarus-ide.org

Lazarus is a free cross-platform visual integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler, which supports dialects of Object Pascal, to varying degrees. Software developers use Lazarus to create native-code console and graphical user interface (GUI) applications for the desktop, and also for mobile devices, web applications, web services, visual components and function libraries (.so, .dll, etc., for use by other programs). The Free Pascal compiler supports a number of different platforms, such as Mac, Linux and Windows.

Lazarus inherits three features from its use of the Free Pascal compiler: compile speed, execution speed, and cross-compilation. The Free Pascal compiler benefits from the Pascal language structure and the steady advancements of the Pascal compiler design (spanning several decades) to compile large applications quickly, often in a matter of seconds. When compiling reference programs for performance metrics, Lazarus produces programs that exhibit near or similar performance when compared with the same programs written in C.

An application that developers create using Lazarus on one platform can potentially compile and execute on any platform for which a Free Pascal compiler exists. The usual caveats of the limitations of the target platform apply; however, for desktop applications a single source can target Mac, Linux, and Windows, usually with no modification (or very little modification). An example application is the Lazarus IDE which itself was created using the Lazarus IDE from a single code base and is available on all major platforms and also runs on the Raspberry PI.

Features

Most similar to earlier versions of the Borland Delphi, Lazarus provides a highly visual development environment for the creation of rich user interfaces, application logic, and other supporting code artifacts. Along with the customary project management features, the Lazarus IDE also provides features that includes but are not limited to:

Cross-platform development

Interaction of class libraries and widgetsets in Lazarus and Free Pascal

Lazarus uses Free Pascal as its back-end compiler. Therefore, Lazarus can, theoretically, be used to develop applications for all platforms supported by Free Pascal.

Similar to Free Pascal’s run-time library, Lazarus provides a cross-platform application framework called the Lazarus Component Library (LCL), which provides a single, unified interface for programmers, with different platform-specific implementations. Using LCL, one can create applications in a write once, compile anywhere manner, unless system-dependent features are used explicitly.

Cross-compiling

As Free Pascal supports cross-compiling, Lazarus applications can be cross-compiled from Windows to Linux and FreeBSD, and vice versa. Compiling from Mac OS X to Windows, Linux and FreeBSD is possible. Cross-compiling to Mac OS X could be done for older (PowerPC) versions, but not for newer Intel versions, since Apple no longer releases the assembler and linker sources.

Applications for embedded devices (smartphones, PDAs, routers, game consoles) are cross-compiled from a *nix or Windows.

With Lazarus 1.3 (development version) it is possible to generate Android applications.[1]

Lazarus Component Library

Architecture of the Lazarus Component Library

The standard application framework, Lazarus Component Library (LCL) was modeled after the Visual Component Library (VCL) in Delphi 6, and, unlike Delphi, is not restricted to Microsoft Windows operating systems. This is done by separating the definition of common widget classes and their widgetset-specific implementation. Eor each widget set is supported by providing an interface which interacts directly with the set.[2]

Database development

Developers can install packages that allow Lazarus to support several database management systems (DBMSes). Programs can interact with DBMSes through code or by components dropped on a form. The data-aware components represent fields and are connected by the correct setting of properties to a TDataSource, which represents a table, and to the database components, which may be TPSQLDatabase, TSQLiteDataSet, or equivalent.

The following DBMSes are supported out of the box using the built-in database components:

Differences from Delphi

While resembling Delphi in many ways, there are a few limitations regarding the performance and feature set.

Distribution and licensing

Like Free Pascal, Lazarus is free software. Different portions are distributed under different free software licenses, including GPL, LGPL, MPL, and a modified version of LGPL.[4]

Specifically, the LCL, which is statically built into the produced executables, is licensed under a modified version of the LGPL, granting extra permissions to allow it to be statically built into the produced software, including proprietary ones.

Note that installing a design-time package is equivalent to linking to the IDE. Thus, distributing the Lazarus IDE with a GPL-incompatible design-time package (e.g. the JEDI packages, which are licensed under the Mozilla Public License) pre-installed would cause a license violation. This does not prohibit proprietary packages from being developed with Lazarus, though.

Lazarus is officially distributed via Sourceforge.

History

The first attempt to develop a visual IDE for Free Pascal dates back to 1998, when the Megido project commenced. For various reasons this approach failed. Some of Megido's developers then started a new project based on a more flexible foundation. The first preliminary LCL version was ready for release in 2001, and in 2003 the first beta version of Lazarus (0.9.0.3) was hosted at SourceForge. The first final Lazarus version (1.0) was released in 2012, and significantly enhanced Lazarus 1.2 with was released in 2014. More than four million downloads had been made from SourceForge as of March 2014.

The name "Lazarus" alludes to the revival of the Megido concept. It is inspired by Lazarus of Bethany, who, according to the Gospel of John, was restored to life by Jesus four days after his death.

Versions

Legend:
Old version
Older version, still supported
Latest version
Latest preview version
Future release
Version number Release date Platform Comments
Old version, no longer supported: 0.0.5 January 2001 Windows First release of component library
Old version, no longer supported: 0.1 January 2001 Windows Redesign of component library to support platform-sensitive development for Linux and Windows using GTK+ and other widgetsets.
Old version, no longer supported: 0.5 January 30, 2001 Windows, Linux Bug fixes and new features supporting cross-platform development and project skeletons.
Old version, no longer supported: 0.8 October 9, 2001 Windows, Linux Codetools implemented, bug fixes.
Old version, no longer supported: 0.8.2 January 17, 2002 Windows, Linux Expanded find functions.
Old version, no longer supported: 0.8.4 August 19, 2002 Windows, Linux Improved graphics and font support, support for Delphi 6 syntax. Binary DFMs are now automatically converted to LFMs.
Old version, no longer supported: 0.8.5 October 26, 2002 Windows, Linux LCL decoupled from interfaces.
Old version, no longer supported: 0.9.0.3 September 4, 2003 Linux First release on Sourceforge
Old version, no longer supported: 0.9.1 February 27, 2004 Windows, Linux Support for packages, numerous added and enhanced properties.
Old version, no longer supported: 0.9.4 January 3, 2005 Windows Threading support improved, oldest public version hosted at Sourceforge
Old version, no longer supported: 0.9.6 February 25, 2005 Windows
Old version, no longer supported: 0.9.8 July 19, 2005 Windows
Old version, no longer supported: 0.9.10 October 3, 2005 Windows, Mac OS X (PPC) Bug fixes, extensibility of IDE improved, document editor for FPDoc files. Includes Free Pascal 2.0.1
Old version, no longer supported: 0.9.12 February 7, 2006 Windows New packages for database support, CGI applications and printing.
Old version, no longer supported: 0.9.14 April 2, 2006 Windows, Mac OS X (PPC), Linux Bugfixes, more controls in the WinCE and Qt4 interface
Old version, no longer supported: 0.9.16 May 28, 2006 Windows, Mac OS X (PPC), Linux Bug fixes, online help for IDE windows and for LCL applications, improvements to QT widgetset interface. Includes Free Pascal 2.0.2
Old version, no longer supported: 0.9.18 September 23, 2006 Windows, Mac OS X (PPC), Linux Bugfixes, procedure list implemented, new command-line tool "lazbuild"
Old version, no longer supported: 0.9.20 November 5, 2006 Windows, Mac OS X (PPC), Linux Bufixes, code folding implemented, QT widgetset improved.
Old version, no longer supported: 0.9.22 March 26, 2007 Windows, Mac OS X (PPC), Linux New components to write Windows services and Linux daemons, support for custom mouse cursors. Includes Free Pascal 2.0.4
Old version, no longer supported: 0.9.24 November 15, 2007 Windows, Mac OS X (Intel and PPC), Linux First stable release for Win64, WinCE, and Intel-based Mac OS X. Improvements in Qt, Carbon, and Gtk2 widgetset interfaces. Customizable toolbar. Includes Free Pascal 2.2.0
Old version, no longer supported: 0.9.26 October 5, 2008 Windows, Mac OS X (Intel and PPC), Linux Internal graphic system was rewritten. LCL now uses Unicode strings encoded as UTF-8 on all platforms. FPDoc help in tooltips. First version to run natively using the Carbon widgetset on Mac OS X.
Old version, no longer supported: 0.9.26.2 March 13, 2009 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, improved icon support. Includes Free Pascal 2.2.2
Old version, no longer supported: 0.9.28 September 29, 2009 Windows, Mac OS X (Intel and PPC), Linux Improvements of editor and debugger including support for double-byte fonts such as Eastern, Japanese, Chinese, and Arabic, smaller file sizes of generated applications. Includes Free Pascal 2.2.4
Old version, no longer supported: 0.9.28.2 October 25, 2009 Windows, Mac OS X (Intel and PPC), Linux Mainly bug fixes.
Old version, no longer supported: 0.9.30 March 22, 2011 Windows, Mac OS X (Intel and PPC), Linux Large number of new features, including docking and multiple source-code windows. Based on Free Pascal 2.4.2.
Old version, no longer supported: 0.9.30.2RC1 September 30, 2011 Windows, Mac OS X (Intel and PPC), Linux Includes Free Pascal 2.4.4. Release candidate for Lazarus 0.9.30.2.
Old version, no longer supported: 0.9.30.2RC2 October 26, 2011 Windows, Mac OS X (Intel and PPC), Linux Release candidate for Lazarus 0.9.30.2.
Old version, no longer supported: 0.9.30.2 November 5, 2011 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Old 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. Release candidate for Lazarus 0.9.30.4.
Old version, no longer supported: 0.9.30.4RC2 March 7, 2012 Windows, Mac OS X (Intel and PPC), Linux Release candidate for Lazarus 0.9.30.4.
Old version, no longer supported: 0.9.30.4RC3 March 11, 2012 Windows, Mac OS X (Intel and PPC), Linux Release candidate for Lazarus 0.9.30.4.
Old version, no longer supported: 0.9.30.4 March 14, 2012 Windows, Mac OS X (Intel and PPC), Linux Bug fixes
Old version, no longer supported: 1.0RC1 July 29, 2012 Windows, Mac OS X (Intel), Linux Release candidate for Lazarus 1.0.
Old version, no longer supported: 1.0RC2 August 21, 2012 Windows, Mac OS X (Intel and PPC), Linux Release candidate for Lazarus 1.0.
Old version, no longer supported: 1.0 August 28, 2012 Windows, Mac OS X (Intel and PPC), Linux First final version. This stable release includes Free Pascal 2.6.0. Multiple corrections and improvements of the IDE, including a macro function, expanded code-folding and new debugger functions.
Old version, no longer supported: 1.0.2 October 10, 2012 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, minor additions to LCL and widgetsets
Old version, no longer supported: 1.0.4 December 2, 2012 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, minor additions to IDE, LCL and widgetsets as well as LazReport and TAChart
Old version, no longer supported: 1.0.6 February 3, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes, minor additions to IDE, LCL and widgetsets as well as LazReport and TAChart
Old version, no longer supported: 1.0.8 March 19, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fix release. Includes Free Pascal 2.6.2
Old version, no longer supported: 1.0.10 June 12, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Old version, no longer supported: 1.0.12 August 24, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Old version, no longer supported: 1.0.14 November 16, 2013 Windows, Mac OS X (Intel and PPC), Linux Bug fixes.
Old version, no longer supported: 1.1.99 September 16, 2013 Windows, Mac OS X, Linux Alpha version for Lazarus 1.2
Old version, no longer supported: 1.2RC1 November 3, 2013 Windows, Mac OS X, Linux Release candidate for Lazarus 1.2
Old version, no longer supported: 1.2RC2 January 13, 2014 Windows, Mac OS X, Linux Release candidate for Lazarus 1.2
Old version, no longer supported: 1.2 March 4, 2014 Windows, Mac OS X, Linux Multiple new features, including a macro recorder, support for layered graphs and Pascal Script. Based on Free Pascal 2.6.2
Old version, no longer supported: 1.2.2 April 23, 2014 Windows, Mac OS X, BSD, Solaris, Linux Bug fix release. Based on Free Pascal 2.6.4
Old version, no longer supported: 1.2.4 June 16, 2014 Windows, Mac OS X, BSD, Solaris, Linux Bug fix release.
Old version, no longer supported: 1.2.6 October 12, 2014 Windows, Mac OS X, BSD, Solaris, Linux Bug fix release.
Older version, yet still supported: 1.4.0 April 19, 2015 Windows, Mac OS X, BSD, Solaris, Linux Improvements of editor, resource handling and additional new features. Based on Free Pascal 2.6.4.
Older version, yet still supported: 1.4.2 July 14, 2015 Windows, Mac OS X, BSD, Solaris, Linux Bug fix release.
Older version, yet still supported: 1.4.4 October 4th, 2015 Windows, Mac OS X, BSD, Solaris, Linux Bug fix release.
Current stable version: 1.6 February 18, 2016 Windows 32bit/64bit, Mac OS X, Linux Multiple new features, including docking, project groups and improved editor. Based on Free Pascal 3.0.0.[5]
Current stable version: 1.6.2 November 13, 2016 Windows 32bit/64bit, Mac OS X, Linux Bug fix release.

Applications produced with Lazarus

Libraries compatible with Lazarus

See also

References

Additional references

Wikimedia Commons has media related to Lazarus (software).
This article is issued from Wikipedia - version of the 11/15/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.