Lazarus is a free, cross-platform, integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for programmers developing with the Object Pascal language, which is as close as possible to Delphi.
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 for a number of different platforms, including Mac, Linux and Windows.
A project created by using Lazarus on one platform can be compiled on any other one which Free Pascal compiler supports. For desktop applications a single source can target macOS, Linux, and Windows, with little or no modification. An example is the Lazarus IDE itself, created from a single code base and available on all major platforms including the Raspberry Pi.
Lazarus provides a WYSIWYG development environment for the creation of rich user interfaces, application logic, and other supporting code artifacts, similar to Borland Delphi. 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, PostgreSQL, FireBird, Oracle, SQLite, Sybase, 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
Code completion
Code templates
Syntax highlighting
Context-sensitive help
Text resource manager for internationalization
Automatic code formatting
Extensibility via custom components
Lazarus uses Free Pascal as its back-end compiler. As Free Pascal supports cross-compiling, Lazarus applications can be cross-compiled from Windows, Linux, or macOS to any of the supported Free Pascal compilation targets.