当前位置: 首页 > news >正文

编程考古-VCL跨平台革命:CrossVCL如何让Delphi开发者梦想成真(上)

在软件开发的世界里,有一句老话:“技术的发展总是出乎意料”。对于使用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 平台非常直接。请遵循以下步骤操作:

  1. 创建或打开一个 VCL 项目:首先,您需要在 Delphi 中创建一个新的 VCL 应用程序项目或者打开现有的 VCL 项目。

  2. 访问项目管理器:在 Project Inspector(项目管理器)中找到您的项目名称,右键点击它以显示上下文菜单。

  3. 添加新平台:从弹出的上下文菜单中选择“Add New Platforms”(添加新平台)选项。这一步是将其他平台的支持添加到您的现有项目中。

  4. 切换平台并运行:一旦添加了新的平台支持,您就可以通过项目的选项轻松地在不同的目标平台之间进行切换,如 OSX64(针对 macOS 应用)和 Linux64(针对 Linux 应用)。选择您想要的目标平台后,您可以编译并运行您的应用程序,以查看其在不同操作系统下的表现。

未安装CrossVCL的目标平台选项不可用,如下图:

下篇展示工程演示及支持的三方控件信息,敬请期待...

相关文章:

  • 从 pip 到 Poetry:开启高效 Python 包管理新时代
  • LVGL 中设置 UI 层局部透明,显示下方视频层
  • 1720. 解码异或后的数组
  • 大型语言模型与强化学习的融合:迈向通用人工智能的新范式
  • Unity3D IK 解算器(Inverse Kinematics,IK Solver)
  • 双指针算法介绍+算法练习(2025)
  • 程序化广告行业(12/89):需求方与需求方服务深度剖析
  • HOT100——链表篇Leetcode236. 二叉树的最近公共祖先
  • ALSA vs OSS:Linux 音频架构的演变与核心区别
  • [Linux] Not enough free space to extract *.zip or file
  • JAVA面试_进阶部分_Java JVM:垃圾回收(GC 在什么时候,对什么东西,做了什么事情)
  • 【农业大数据处理与应用】实验一 地面测量的叶面积指数与遥感观测的植被指数关系探究
  • CSS中固定定位
  • 【16】简单文本分类【词嵌入、文本向量化、文本分类模型】
  • 网络爬虫相关
  • pytest+allure+jenkins 实现接口自动化测试
  • 零成本搭建Calibre个人数字图书馆支持EPUB MOBI格式远程直读
  • 基于boss直聘的招聘数据可视化分析平台-Flask+html
  • 【音视频】ffmpeg中AVpacket解析NALU总结
  • UI自动化:poium测试库使用文档
  • 哈马斯同意释放剩余所有以色列方面被扣押人员,以换取停火五年
  • 日均新开三家“首店”,上海的“首发经济”密码是什么?
  • 陈平评《艺术科学的目的与界限》|现代艺术史学的奠基时代
  • 一图读懂|上海海关公布一季度数据:钢材出口增长超143%
  • 最高法:侵犯著作权罪中的“复制发行”不包括单纯发行行为
  • 上海体育消费节将从5月持续至11月,推出运动装备商品促销活动