Component Library for Cross Platform

Last updated

Component Library for Cross Platform (CLX) (pronounced clicks), is a cross-platform visual component-based framework for developing Microsoft Windows and Linux applications. [1] [2] It is developed by Borland for use in its Kylix, Delphi, and C++ Builder software development environment.

Its aim was to replace the popular Microsoft Foundation Classes with Visual Component Library. CLX was based on Qt by Nokia [ citation needed ]. [3] :196 The API of CLX almost completely followed VCL. It was envisioned that existing applications using VCL would be recompiled with CLX.

However, due to lacklustre performance on Windows, subtle differences from VCL, and bugs, it didn't become the expected successor to VCL. Commercial failure of Kylix stopped further development of CLX.

In terms of object-oriented approach, CLX forms an object hierarchy where the TObject class serves as the base class . All other classes inherit or indirectly inherit the TObject class.

Today, many concepts that were defined with CLX have been implemented with the Lazarus Component Library (LCL) for the Lazarus IDE. By docking to different widgetsets, the LCL is able to support an even larger spectrum of platforms including Mac OS X and Android.

Related Research Articles

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. The name Windows API collectively refers to several different platform implementations that are often referred to by their own names ; see the versions section. Almost all Windows programs interact with the Windows API. On the Windows NT line of operating systems, a small number use the Native API.

C++Builder is a rapid application development (RAD) environment, originally developed by Borland and as of 2009 owned by Embarcadero Technologies, for writing programs in the C++ programming language currently targeting Windows, iOS and for several releases, macOS and Android C++Builder combines the Visual Component Library and IDE written in Object Pascal with multiple C++ compilers. Most components developed in Delphi can be used in C++Builder with no or little modification, although the reverse is not true, but this constraint is valid only for source code. Binary code generated by Delphi can easily be linked to binary code generated by C++Builder and vice versa to generate an executable written in both Object Pascal and C++. With this approach, C++ can be called from Object Pascal and vice versa. Since both Delphi and C++ use the same back end linker, the debugger can single step from Delphi code into C++ transparently.

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.

Delphi (software)

Delphi is 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, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.

Free Pascal Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

Windows Forms Graphical user interface software library

Windows Forms (WinForms) is a free and open-source graphical (GUI) class library included as a part of Microsoft .NET, .NET Framework or Mono Framework, providing a platform to write client applications for desktop, laptop, and tablet PCs. While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a comparable paradigm and only acts as a platform for the user interface tier in a multi-tier solution.

Borland Kylix is a compiler and integrated development environment (IDE) formerly sold by Borland, but later discontinued. It is a Linux software development environment based on Borland Delphi and Borland C++ Builder, which runs under Microsoft Windows. Continuing Delphi's classical Greek theme, Kylix is the name for an ancient Greek drinking cup. The closest supported equivalent to Kylix is the free Lazarus IDE package, designed to be code-compatible with Delphi. As of 2010 the project has been resurrected in the form of Delphi cross compiler for Mac and Linux, as shown in the Embarcadero's Delphi and C++ Builder roadmap. As of September 2011 with Kylix discontinued the framework for cross-platform development by Embarcadero is FireMonkey.

Graphical user interface builder

A graphical user interface builder, also known as GUI designer, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in source-code, with no visual feedback until the program is run.

Lazarus (software) Free cross-platform integrated development environment for Free Pascal

Lazarus is a free cross-platform visual 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.

Danny Thorpe was an American programmer noted mainly for his work on Delphi.

Internet Direct, also known as "Indy", is a free software / open source socket library written in Object Pascal, an object-oriented version of Pascal. It includes clients, servers, TCP, UDP, and raw sockets, as well as over 100 higher level protocols implementations such as SMTP, POP3, NNTP, and HTTP. Indy includes support for OpenSSL and Zlib in the protocol implementations. Indy 10 was ported to Free Pascal, and runs on Windows, FreeBSD, Linux, and Darwin.

fpGUI Graphical user interface toolkit in Object Pascal

fpGUI, the Free Pascal GUI toolkit, is a cross-platform graphical user interface toolkit developed by Graeme Geldenhuys. fpGUI is open source and free software, licensed under a Modified LGPL license. The toolkit has been implemented using the Free Pascal compiler, meaning it is written in the Object Pascal language.

Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993. It is used to enable inter-process communication object creation in a large range of programming languages. COM is the basis for several other Microsoft technologies and frameworks, including OLE, OLE Automation, Browser Helper Object, ActiveX, COM+, DCOM, the Windows shell, DirectX, UMDF and Windows Runtime. The essence of COM is a language-neutral way of implementing objects that can be used in environments different from the one in which they were created, even across machine boundaries. For well-authored components, COM allows reuse of objects with no knowledge of their internal implementation, as it forces component implementers to provide well-defined interfaces that are separated from the implementation. The different allocation semantics of languages are accommodated by making objects responsible for their own creation and destruction through reference-counting. Type conversion casting between different interfaces of an object is achieved through the QueryInterface method. The preferred method of "inheritance" within COM is the creation of sub-objects to which method "calls" are delegated.

Teechart

TeeChart is a charting library for programmers, developed and managed by Steema Software of Girona, Catalonia, Spain. It is available as commercial and non-commercial software. TeeChart has been included in most Delphi and C++Builder products since 1997, and TeeChart Standard currently is part of Embarcadero RAD Studio 11 Alexandria. TeeChart Pro version is a commercial product that offers shareware releases for all of its formats, TeeChart. Lite for .NET is a free charting component for the Microsoft Visual Studio .NET community and TeeChart for PHP is an open-source library for PHP environments. The TeeChart Charting Library offers charts, maps and gauges in versions for Delphi VCL/FMX, ActiveX, C# for Microsoft Visual Studio .NET, Java and PHP. Full source code has always been available for all versions except the ActiveX version. TeeChart's user interface is translated into 38 languages.

FireMonkey

FireMonkey is a cross-platform GUI framework developed by Embarcadero Technologies for use in Delphi or C++Builder, using C++ or Object Pascal to build cross platform applications for Windows, macOS, iOS, and Android. A 3rd party library, FMX Linux, enables the building of FireMonkey applications on Linux.

Free Component Library

The Free Component Library, abbreviated FCL, is a software component library for Free Pascal.

This page details the history of the programming language and software product Delphi.

References

  1. Long, Brian. "VCL versus CLX". BLong. Archived from the original on 22 March 2018. Retrieved 7 October 2018.
  2. McDonald, J.L.; Nishimura, H.; Timossi, C. (22 October 2002). "Cross Platform Development using Delphi and Kylix". Lawrence Berkeley National Laboratory. Archived from the original on 7 October 2018.
  3. Cantù, Marco. "Chapter 6: Controls: VCL Versus VisualCLX". Mastering Delphi 6. Wiley. ISBN   978-0-782-15278-4.