Delphi(软件)

德尔菲
原始作者BorlandCodegearEmbarcadero
开发人员Embarcadero Technologies
稳定版本
Rad Studio 12雅典 / 2023年11月9日
写在主要是Delphi(对象Pascal)
作业系统Windows上运行;针对WindowsLinuxMacOSAndroidiOS
类型软件开发设计师IDE编译器RTL
执照免费增值
网站Embarcadero .com /products /delphi

Delphi是一种通用编程语言和一种软件产品,它使用对象Pascal编程语言的Delphi方言,并提供了一个集成的开发环境(IDE),用于快速应用台式机,移动Web控制台软件的快速应用程序开发由Embarcadero技术维护。

Delphi的编译器生成了Microsoft WindowsMacOSiOSAndroidLinuxX64 )的本机代码

Delphi包括一个代码编辑器,视觉设计师,集成调试器,源代码控制组件以及对第三方插件的支持。代码编辑器具有代码洞察力代码完成),错误洞察力(实时错误检查)和重构。 Visual Forms Designer可以选择使用Visual Component库(VCL)进行纯Windows开发或FiremonKey (FMX)框架进行跨平台开发。数据库支持是一个关键功能,由FireDac(数据库访问组件)提供。 Delphi以其快速汇编速度,本机代码和开发人员生产率而闻名。

Delphi最初是由Borland开发的,是Windows的快速应用开发工具,是Turbo Pascal的继任者。 Delphi在现有语言中添加了完整的面向对象的编程,并且该语言已增长以支持仿制药,匿名方法封闭和本机组件对像模型(COM)支持。

Delphi及其C ++对应物C ++构建器可互操作,并以Rad Studio的名称共同出售。有专业,企业和建筑师版本,更高版本具有更高的价格功能。还有一个免费的社区版,具有专业人士的大多数功能,但仅限于收入较低的用户和公司。

特征

Delphi支持快速应用开发(RAD)。突出的功能是视觉设计师和两个应用程序框架,用于跨平台开发的Windows和Firemonkey(FMX)VCL

Delphi使用由Anders Hejlsberg为Borland(现为Idera)创建的基于Pascal的编程语言对象Pascal作为Turbo Pascal的继任者。它支持许多平台,包括Windows,Linux,iOS和Android。

为了更好地支持Microsoft Windows的开发并与其他软件开发工具开发的代码相互互操作,Delphi支持组件对像模型(COM)的独立接口,并使用参考计数类实现,并支持许多第三方组件。接口实现可以委派给类的字段或属性。消息处理程序是通过标记具有要处理消息的整数常数的类方法来实现的。

通过VCL数据库感知和数据库访问组件广泛支持数据库连接。

后来的版本包括升级和增强的运行时库例程,其中一些由社区组FastCode提供。

特征

Delphi使用强烈键入的高级编程语言,旨在易于使用,最初基于较早的对象Pascal语言。帕斯卡(Pascal)最初是作为通用语言开发的,“适用于以简洁而合乎逻辑的方式表达当时已知的基本结构”,“其实施是有效且具有现有的Fortran编译器的效率和竞争力” ,但没有低级编程设施或使用硬件。 Turbo Pascal及其后代(包括Delphi)支持对硬件和低级编程的访问,并通过设施结合了用汇编语言和其他语言编写的代码。 Delphi的对象取向仅具有基于类和接口的多态性。元类是头等对象。对像是对对象(如Java中)的引用,Delphi隐含地退了引用,因此通常无需手动将记忆分配给指针以对像或使用其他某些语言需要的类似技术。有专用的参考被计数类型,还有无效的终止字符串。

通过使用“+”操作员而不是使用函数来加入字符串。对于专用的字符串类型,Delphi无需编程器干预即可处理内存管理。自Borland Developer Studio 2006以来,有可以找到内存泄漏的功能。

Delphi包括一个集成的IDE。所有带有运行时库(RTL)和视觉组件库(VCL)的Delphi产品,包括其大多数源代码。可以免费提供第三方组件(有时具有完整的源代码)和工具来增强IDE或其他相关的开发任务,有些免费。 IDE包括用于本地化和翻译的GUI,可以部署给翻译人员;还有第三方工具为此目的具有更多功能。 VCL框架在版本之间维持了高度的源兼容性,这简化了将现有的源代码更新为新的Delphi版本。第三方库通常需要供应商的更新,但是,如果提供源代码,则与较新版本的重新编译可能足够了。 VCL是依赖注射控制反转的早期采用者;它使用可重复使用的组件模型,由开发人员扩展。使用类助手,可以将新功能引入核心RTL和VCL类,而无需更改RTL或VCL的原始源代码。

编译器正在优化,并且是单次编译器。它可以选择地编译为不需要DLL的单个可执行文件。 Delphi还可以生成标准DLL, ActiveX DLL, COM自动化服务器和Windows服务

自Delphi 2005以来的Delphi IDE越来越支持重构功能,例如方法提取以及从源代码创建UML模型或通过模型中的更改来修改源的可能性。

德尔菲(Delphi)在网络上有社区,其员工也积极参与。

向后兼容

Delphi是向后兼容性接近100%的语言之一。尽管Delphi的每个新版本都试图保持尽可能多的向后兼容性,以允许现有的代码重复使用,新功能,新库和改进有时会使较新的发行版不到100%的向后兼容。

自2016年以来,每六个月都有每六个月发行的新发行版,大约每第二版添加新平台。

构架

Delphi提供了两个用于视觉应用程序开发的框架,VCL和FireMonKey(FMX):

  • Visual组件库(VCL)是开发纯Windows应用程序的框架。 VCL是一个长期存在的框架,其中包括Delphi的第一个版本,从那时起就积极发展。
  • 作为Delphi XE2的一部分, Firemonkey (后来的缩写FMX)以及一套针对非Windows平台的内置编译器发行。 FireMonKey是Windows,MacOS,iOS,Android和Linux(X64)的跨平台框架。 FireMonkey的GUI部分主要基于Direct3D和OpenGL。 FireMonKey与VCL不兼容;它们是两个独立的框架。但是,FireMonKey应用程序确实可以轻松地与VCL应用程序共享非视觉代码单元,从而使很多代码可以在平台之间轻松移植或共享。

互操作性

Delphi及其C ++对应物C ++构建器可互操作。它们共享许多核心组件,特别是IDE,VCL和FMX框架以及许多运行时库。此外,它们可以在项目中共同使用。例如,C ++构建器6及以后可以在一个项目中结合Delphi和C ++的源代码,而使用C ++构建器编译的软件包可以从Delphi中使用。 2007年,这些产品共同发行为Rad Studio,Rad Studio是Delphi和C ++构建器的共享主机,可以使用任何一个或两者购买。从里约热内卢开始,与python也有互操作性。

历史

在学校的用途

Delphi是用于教授南非学校编程的媒介,作为信息技术的主题(IT)。

路线图

Embarcadero发布了“路线图”,描述了他们未来的发展计划。最新的版本于2020年11月发布。版本10.5在2020年11月的路线图中提到的10.5版被更名为11.0。

相关软件

  • Borland Enterprise Studio是RAD Studio的先驱,是一个软件开发套件,其中包括对多种语言的支持。 Windows的Borland Enterprise Studio支持Delphi。
  • Borland Kylix :类似于Delphi,但对于Linux,于2001年发行。这是为Delphi Product family添加Linux支持的第一次尝试。 Kylix使用了新的CLX跨平台框架(基于QT),而不是Delphi的VCL。 Kylix在版本3之后停产。今天,Linux支持已集成到主要的Delphi产品中,并使用FireMonkey Cross-Platform框架。
  • InterBase是一个可嵌入的SQL数据库,该数据库本地集成到Delphi和C ++构建器,用于客户端/服务器或嵌入式开发。它的显著特征降低了管理要求,商业级数据安全性,灾难恢复和变更同步。市场上的所有主要语言和平台也可以通过数据库连接协议(例如ODBC,ADO,ADO.NET)以及JDBC/ODBC桥或Java 4型连接器的Java访问它。
  • 自Jbuilder 2007版本以来, Jbuilder是基于Eclipse的Java开发的工具。
  • RADPHP (后来被HTML5构建器替换)是提供真正RAD功能的PHPIDE 。它具有类似于Delphi或Visual Basic的表单设计器,以及基于Apache Web服务器的集成调试器。它还包括一个移植到PHP的VCL库。与其他IDE不同,它支持Web 2.0功能,例如Ajax 。 PHP的Delphi于2007年3月20日宣布,于2010年10月更名为RadPhp,并根据Qadram Q Studio为基础。 Embarcadero于2011年1月收购了卡德拉姆。
  • Delphi Prism(后来称为Embarcadero Prism)源自氧气编程语言(以前称为Chrome)。它在Microsoft Visual Studio IDE而不是Rad Studio中运行。当该产品停产时,它已由Embarcadero许可并重​​新品牌替换Delphi.net。
  • Free Pascal是一种开源PASCAL跨平台跨编译器,它支持Delphi的大多数对象Pascal代码。 Free Pascal还具有自己的语言扩展,多个编译器[语言语法]模式,并支持18+操作系统和9+处理器体系结构。 Lazarus是使用游离Pascal编译器的跨平台RAD IDE。

著名的第三方库