Oxygene 不会尝试与 Delphi 兼容。此外,各种 Oxygene 风格使用的运行时库与 Delphi 使用的完全不同。因此,您不会找到任何可以在 Oxygene 和 Delphi 上编译的具有单一源代码的严肃库。
RemObjects 在不同平台上开发 Oxygene 的方式非常有趣,并且与 Embarcadero 与 Delphi 所采用的方法完全不同。
使用 Delphi 的目标是您可以为所有平台进行单一源代码开发。FireMonkey 框架使这成为可能,该框架为所有平台提供了一个通用接口。显然,您需要更改应用程序的某些元素以解决设备差异。
使用 Oxygene,每个平台都有单独的目标。所以对于 Windows,运行时是 .net。对于 Java,它是 JVM,对于 Apple 平台,您的目标是 Cocoa。
所有这一切意味着您不能期望在 Oxygene 中编写一个 GUI 应用程序并让它在多个平台上工作。
因此,您不仅可以在 Delphi 和 Oxygene 之间单一来源您的应用程序,而且您不能轻易地单一来源多个 Oxygene 目标。
现在,您可以轻松移植到 Oxygene 或 FPC。但是保持单一来源可能意味着更多的努力。这是否值得努力是有争议的。从长远来看,您将需要 Delphi、FPC、Oxygene 或什至完全不同的代码库。但是您不希望您的代码分布在多种语言上。