HOME

TheInfoList



OR:

Lazarus is a
cross-platform Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
,
integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE) for
rapid application development Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
(RAD) using the Free Pascal
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
. Its goal is to provide an easy-to-use development environment for developing with the
Object Pascal Object Pascal is an extension to the programming language Pascal (programming language), Pascal that provides object-oriented programming (OOP) features such as Class (computer programming), classes and Method (computer programming), methods. T ...
language, which is as close as possible to
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
. It is
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
with different parts released under different
software license A software license is a legal instrument governing the use or redistribution of software. Since the 1970s, software copyright has been recognized in the United States. Despite the copyright being recognized, most companies prefer to sell lic ...
s. Lazarus is often used to create native-code console and
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
(GUI) applications for
desktop computer A desktop computer, often abbreviated as desktop, is a personal computer designed for regular use at a stationary location on or near a desk (as opposed to a portable computer) due to its size and power requirements. The most common configuratio ...
s,
mobile device A mobile device or handheld device is a computer small enough to hold and operate in hand. Mobile devices are typically battery-powered and possess a flat-panel display and one or more built-in input devices, such as a touchscreen or keypad. ...
s,
web application A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
s,
web service A web service (WS) is either: * a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or * a server running on a computer device, listening for requests at a particular port over a n ...
s, visual components, and function
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
for several different
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
platforms, including
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, and
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. A project created by using Lazarus on one platform can be compiled on any other one which Free Pascal compiler supports. For desktop applications, one
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
can target
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, and
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, with little or no modification. For example, the Lazarus IDE is created from one code base and available on all major platforms including
Raspberry Pi Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
.


Features

Lazarus provides a ''What You See Is What You Get'' (
WYSIWYG In computing, WYSIWYG ( ), an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web ...
) development environment for creating rich
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
s, application logic, and other supporting code artifacts, similar to
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
. Along with project management features, the Lazarus IDE also provides: * A visual windows layout designer * GUI widgets or visual components such as edit boxes, buttons, dialogs, menus, etc. * Non-visual components for common behaviors such as persistence of application settings * Data-connectivity components for
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
,
PostgreSQL PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
, FireBird,
Oracle An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination. Descript ...
, SQLite,
Sybase Sybase, Inc. was an enterprise software and services company. The company produced software relating to relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; SAP ceased using the Syba ...
, and others * Data-aware widget set that allows the developer to see data in visual components in the designer to assist with development * Interactive
debugger A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
*
Code completion Code completion is an autocompletion feature in many integrated development environments (IDEs) that speeds up the process of coding applications by fixing common mistakes and suggesting lines of code. This usually happens through popups while typ ...
* Code templates *
Syntax highlighting Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
* Context-sensitive help * Text resource manager for internationalization * Automatic code formatting * Extensibility via custom components


Cross-platform development

Lazarus uses Free Pascal as its back-end compiler. As Free Pascal supports cross-compiling, Lazarus applications can be cross-compiled from
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, or
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
to any of the supported Free Pascal compilation targets. Applications for embedded devices (
smartphone A smartphone is a mobile phone with advanced computing capabilities. It typically has a touchscreen interface, allowing users to access a wide range of applications and services, such as web browsing, email, and social media, as well as multi ...
s, PDAs, routers, game consoles) can be cross-compiled from any desktop platform. 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, it is possible to create applications in a '' write once, compile anywhere'' manner, unless system-dependent features are used explicitly. LCL was originally modeled after the
Visual Component Library The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal. History The VCL was developed by Borland for use i ...
(VCL) in Delphi 6, but is not restricted to
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. This is done by separating the definition of common widget classes and their widgetset-specific implementation. Each widget set is supported by providing an ''interface'' which interacts directly with the set.


Database development

Developers can install packages that allow Lazarus to support several
database management system In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and an ...
s (DBMSes). Programs can interact with a DBMS through code or by components dropped on a form. The following DBMSes are supported out of the box: *
dBase dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system included the core database engine, a query system, a Form (programming), forms engine, and a pr ...
and FoxPro, *
InterBase InterBase is a relational database management system (RDBMS) currently developed and marketed by Embarcadero Technologies. It runs on the operating systems Microsoft Windows, macOS, Linux, Oracle Solaris, Solaris, Android (operating system), Andr ...
and Firebird *
Microsoft SQL Server Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
and Sybase ASE *
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
and
MariaDB MariaDB is a community-developed, commercially supported Fork (software development), fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. Developm ...
* Open Database Connectivity (ODBC) databases *
Oracle Database Oracle Database (commonly referred to as Oracle DBMS, Oracle Autonomous Database, or simply as Oracle) is a proprietary multi-model database management system produced and marketed by Oracle Corporation. It is a database commonly used for ru ...
*
PostgreSQL PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
* SQLite


Differences from Delphi

Lazarus resembles
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
in many ways. It supports
Component Object Model Component Object Model (COM) is a binary-interface technology for software components from Microsoft that enables using objects in a language-neutral way between different programming languages, programming contexts, processes and machines ...
(COM) since version 2.2.0, and offers most of Delphi's networking functions. However, there are limits to the performance and feature set. Lazarus does not support the following, which Delphi does: * Datasnap (uses Embarcadero proprietary enterprise functions, not a publicly documented system) * Dynamically loadable packages *
.NET The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
libraries (.NET code, however, can invoke Object Pascal code or anything other machine-native library via Platform Invocation Services.) * Extensive Microsoft Office connectivity (Lazarus can only open
Microsoft Excel Microsoft Excel is a spreadsheet editor developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a ...
with a simple table filled out.) LCL is not fully compatible with VCL. This makes the extensive repository of available VCL widgets inaccessible without conversion. The conversion effort mostly involves some editing, although there are a few fundamental differences. When porting, missing units in the libraries are a considerably bigger problem than incompatibilities between LCL and VCL. Components for Delphi can be converted to work in Lazarus. This can be complex, though less so than for Lazarus versions older than 0.9.30, based on FP 2.4.x. On Windows, the default size of an executable file is larger than the Delphi 6 or 7 equivalent, as Lazarus stores debug information within the executable, rather than as separate files. Starting with version 0.9.30, Lazarus supports external debug symbols via compiler options. Thus, program file sizes can be significantly reduced. Alternatively, debug info can be stripped from EXEs (e.g. using a port of the UNIX strip command).


Distribution and licensing

Like Free Pascal, Lazarus is
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
. Different portions are distributed under different free software licenses, including GPL,
LGPL The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
, MPL, and a modified version of LGPL. 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. Installing a design time package is equivalent to linking to the IDE, so that distributing the Lazarus IDE with a GPL-incompatible design-time package such as the JEDI packages licensed under the
Mozilla Public License The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird. The MPL is developed and maintained by Mozilla, which seeks to balance the concerns of bo ...
, pre-installed would cause a license violation. This does not prohibit proprietary packages from being developed with Lazarus.


History

The first attempt to develop an IDE for Free Pascal dates back to 1998, under the "Megido" project. After the project failed, some of its developers started a new project based on a more flexible foundation. The name "Lazarus" alludes to the revival of the Megido concept. It is inspired by
Lazarus of Bethany Lazarus of Bethany is a figure of the New Testament whose life is restored by Jesus four days after his death, as told in the Gospel of John. The resurrection is considered one of the miracles of Jesus. In the Eastern Orthodox Church, Lazarus i ...
, who, according to the
Gospel of John The Gospel of John () is the fourth of the New Testament's four canonical Gospels. It contains a highly schematic account of the ministry of Jesus, with seven "Book of Signs, signs" culminating in the raising of Lazarus (foreshadowing the ...
, was restored to life by
Jesus Jesus (AD 30 or 33), also referred to as Jesus Christ, Jesus of Nazareth, and many Names and titles of Jesus in the New Testament, other names and titles, was a 1st-century Jewish preacher and religious leader. He is the Jesus in Chris ...
four days after his death. The first preliminary LCL version was ready for release in 2001. In 2003, the first beta version of Lazarus (0.9.0.3) was hosted at
SourceForge SourceForge is a web service founded by Geoffrey B. Jeffery, Tim Perdue, and Drew Streib in November 1999. SourceForge provides a centralized software discovery platform, including an online platform for managing and hosting open-source soft ...
. Lazarus version 1.0 was released in 2012. A significantly enhanced Lazarus 1.2 with was released in 2014. More than four million downloads had been made from SourceForge as of March 2014.


Versions


Examples of applications produced with Lazarus

* ASuite is a free open-source application launcher for Windows. From 2.1 Alpha 1, it's fully written in Lazarus/FPC. * Beyond Compare is a data comparison utility for Windows, macOS, and Linux. The macOS and Linux versions are compiled using Lazarus/FPC. * '' Cartes du Ciel'' is a free planetarium program for Linux, macOS and Windows. The software maps out and labels most of the constellations, planets, and objects you can see with a telescope. It is fully written in Lazarus/FPC and released under GPL. * C-evo is an open source turn-based strategy game that has been ported from Delphi to Lazarus. * Cheat Engine is a memory scanner/hex editor/debugger. It is useful for cheating in computer games. Since version 6.0 it is compiled with Lazarus/FPC. * EPANET, a software package for modelling water-distribution systems. * HNSKY, Hallo Northern Sky is a free planetarium program for Windows and Linux. Since version 3.4.0 written and compiled with Lazarus/FPC. * MyNotex is a free software for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
useful to take and manage textual notes. * PeaZip is an open-source archiver, made with Lazarus/FPC. * TorChat, inactive, was moving away from Python and is being rewritten in Lazarus + Free Pascal. *
Total Commander __NOTOC__ Total Commander is an orthodox file manager, i.e. it features two file list panels (selectable via tab key) and a Command-line interface, command line. It supports Tab (interface), multiple tabs for each panel. Total Commander is deve ...
64-bit version. * Double Commander is a cross-platform open-source file manager with two panels side by side. It is inspired by Total Commander, plus some new ideas.sourceforge.net
* SimThyr is a continuous simulation program for thyroid homeostasis.


Examples of Delphi libraries compatible with Lazarus

* GLScene is a free
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
-based
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
that provides visual components and objects allowing description and rendering of 3D scenes. * OpenWire is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
that allows pin type properties to make connections between LCL components similar to LabVIEW or Agilent VEE.


See also

* Comparison of integrated development environments#Pascal, Object Pascal * Dev-Pascal *
Delphi (software) Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, ...
* Free Pascal Compiler *
Object Pascal Object Pascal is an extension to the programming language Pascal (programming language), Pascal that provides object-oriented programming (OOP) features such as Class (computer programming), classes and Method (computer programming), methods. T ...


References


Further reading

* * * * *
Въведение в Lazarus IDE







External links

* *


The Lazarus Documentation Project

Get Lazarus hosting downloads

Lazarus learning center
{{DEFAULTSORT:Lazarus (Software) 1999 software Cross-platform free software Cross-platform software Free computer libraries Free integrated development environments Free Pascal Free software programmed in Pascal Integrated development environments Linux integrated development environments MacOS programming tools Pascal (programming language) Pascal programming language family Pascal (programming language) software Platform-sensitive development Programming tools for Windows User interface builders