Delphi 2011 已经发布,它被称为 Delphi XE。它只支持 32 位 Windows,就像以前的 Delphi 版本一样。64 位、OS X 和 Linux 仍在路线图中。
在 Delphi 真正支持它之前,不可能说跨平台的 Windows 和 OS X 是多么容易。但是我们可以根据已经停产的 Linux 版本的 Delphi 来做一些猜测。
Kylix 引入了一个名为 CLX 的新组件库。CLX 与 VCL 非常相似,但并不完全相同。CLX 适用于 Windows 和 Linux。VCL 仍然包含在仅限 Windows 的应用程序中。将 VCL 应用程序移植到 CLX 并不太困难,至少如果您的所有 3rd 方组件都支持 CLX。最困难的部分是移植您自己的代码中直接调用 Win32 API 的那些部分。
包括我自己在内的一些人所做的就是在 Windows 上使用 VCL,在 Linux 上使用 CLX。这使事情变得更加困难,因为它需要两组表单,一组用于 Windows,另一组用于 Linux。要成功地做到这一点,您必须将尽可能多的非可视代码从表单中分离出来。例如,您将 TActionList 放在由应用程序上的 VCL 和 CLX 版本共享的数据模块上,然后具有单独的 VCL 和 CLX 版本的表单,提供使用操作列表的工具栏等。如果您正在考虑将来支持多个平台,您现在可以通过将尽可能多的代码分成不与表单绑定的单元来做好准备。
由于 Delphi 旨在创建本地应用程序,因此您永远不会像 Java 提供的那样“编译一次,在任何地方运行”。相反,我们将“开发一次编译多个地方”,假设 Embarcadero 遵循他们的路线图。