在软件开发的世界里,有一句老话:“技术的发展总是出乎意料”。对于使用Delphi的开发者而言,这句话从未如此真实。今天,我们将探索一项名为CrossVCL的技术,它不仅重新定义了我们对Visual Component Library(VCL)的认知,而且彻底改变了Delphi应用跨平台开发的游戏规则。
VCL的历史与挑战
自1995年首次亮相以来,VCL一直是Delphi的核心组件之一,提供了快速且直观的Windows应用程序开发体验。然而,随着移动和Web技术的兴起,VCL的局限性也逐渐显现——它主要针对Windows平台设计,这使得向其他操作系统扩展变得困难重重。尽管有FireMonkey(FMX)作为跨平台解决方案,但许多开发者依然怀念VCL的简洁性和高效性。
CrossVCL:打破壁垒的新时代
就在开发者们认为将永远受限于单一平台之时,CrossVCL横空出世。这项创新技术通过一系列复杂的编译器优化和技术改进,实现了VCL组件在iOS、Android、macOS等多个平台上的原生运行。这意味着,现在您可以利用熟悉的VCL工具集创建跨平台的应用程序,而无需学习全新的框架或大幅度修改现有代码。
KSDEV
https://www.ksdev.com/index.html
KSDev是一家由Evgene Kryukov(尤金·克留科夫)创立的精简型开发工作室。自Delphi的第一版起,该工作室便专注于应用程序开发,累积了从初代到最新版本的全方位经验。KSDev的使命是让Delphi开发者能够为iOS、Mac OS、Android平台构建真正的原生应用程序,就如同KSDev为Microsoft Windows平台提供的开发技术一样。KSDev们热爱Delphi,并致力于帮助全球的Delphi开发者充分利用这一多功能的通用开发工具。通过KSDev的努力,希望能让开发者体验到跨平台开发的无限可能。
CrossVcl
https://www.crossvcl.com/
CrossVCL 是一套专为 Delphi 开发者设计的工具集,它使得利用 Embarcadero Delphi 创建适用于 macOS 和 Linux 的 VCL 应用程序成为可能。这项技术不仅仅是一个概念上的突破,更是实际开发中的一大飞跃。
CrossVCL 的核心构成
从概念上讲,CrossVCL 由两个主要组件构成:
- 运行时库
全新实现的 WinAPI 版本,专门针对 macOS 和 Linux 系统进行了优化,并与原生操作系统运行时紧密结合。
- 设计时管理器
一个集成于 IDE 中的专家系统,允许开发者将 macOS64 和 Linux64 平台添加到 VCL 项目中,并通过 CrossVCL 进行设置。
不是模拟器,而是真正的跨平台解决方案
重要的是要理解,CrossVCL 并非传统意义上的模拟器。实际上,它是对其他平台上 WinAPI 的一种实现,专注于覆盖 VCL 所需的 UI 部分(除了 DirectX)。这意味着,对于应用程序的非 UI 组件,开发者应依赖 RTL(Run-Time Library)和其他框架提供的跨平台例程来完成开发工作。
使用 CrossVcl 的先决条件
要使用 CrossVcl 进行开发,您需要满足以下条件:
- Embarcadero Delphi 10.3
确保您的开发环境已升级到 Delphi 10.3 或更高版本。这是因为 CrossVcl 需要利用特定于该版本及之后的特性与改进。
- macOS 编译器
为了构建 macOS 应用程序,您的 Delphi 环境必须包含对 macOS 编译器的支持。这允许您将 VCL 应用程序编译为 macOS 原生应用。
- 企业版许可(针对 Linux 开发)
如果您计划扩展开发范围至 Linux 平台,请确保您拥有 Delphi 的企业版许可证。企业版提供了必要的工具和资源,支持跨平台开发,包括 Linux64 目标平台的支持。
如何使用 CrossVcl 进行工作
使用 CrossVcl 扩展您的 Delphi VCL 项目以支持 macOS 和 Linux 平台非常直接。请遵循以下步骤操作:
-
创建或打开一个 VCL 项目:首先,您需要在 Delphi 中创建一个新的 VCL 应用程序项目或者打开现有的 VCL 项目。
-
访问项目管理器:在 Project Inspector(项目管理器)中找到您的项目名称,右键点击它以显示上下文菜单。
-
添加新平台:从弹出的上下文菜单中选择“Add New Platforms”(添加新平台)选项。这一步是将其他平台的支持添加到您的现有项目中。
-
切换平台并运行:一旦添加了新的平台支持,您就可以通过项目的选项轻松地在不同的目标平台之间进行切换,如 OSX64(针对 macOS 应用)和 Linux64(针对 Linux 应用)。选择您想要的目标平台后,您可以编译并运行您的应用程序,以查看其在不同操作系统下的表现。
未安装CrossVCL的目标平台选项不可用,如下图:
下篇展示工程演示及支持的三方控件信息,敬请期待...