【问题标题】:Delphi XE5 Firemonkey: Single code base for mobile/Win/OSX?Delphi XE5 Firemonkey:移动/Win/OSX 的单一代码库?
【发布时间】:2013-12-24 18:10:03
【问题描述】:

在 VCL 近 20 年后才开始玩 FM,所以请多多包涵……是什么让 XE5 应用程序移动与 FM HD? 我无法将 OSX 目标添加到移动项目(即使 Win32 有效),也无法将 iOS/Android 目标添加到 Win32/Win64/OSX 项目。 据我所知,引用了相同的单元,那么为什么我不能为所有受支持的平台创建一个项目?

谢谢!

【问题讨论】:

  • 您的 Mac 环境设置是否正确?您需要在 Mac 和 PC 之间建立网络连接,并为 OSX 和 iOS 设置适当的证书和 SDK。请参阅帮助内容、RAD Studio、RAD Studio 主题、跨平台应用程序、创建步骤...、使用 Mac 和 PC。另请参阅创建...中的相同步骤,添加 Mac OS X 或 iOS 设备 SDK。
  • 您为什么希望表格在桌面/平板电脑/智能手机上具有相同的外观和感觉?您是否曾在移动应用程序中看到过 MainMenuBar?如果为不同的目标讨论单个代码base,那么这与表示部分相关
  • 这不就是FM的前提是所有平台都有相同的UI代码吗?由于平台或因素的差异(除了 FM 本身完成的蒙皮),我对动态调整显示非常满意,但我宁愿拥有一个具有多个目标平台的项目。
  • 如果您正在开发desktop 应用程序,您可以选择所有desktop os 作为目标。如果您正在开发 mobile 应用程序,您可以选择所有 mobile os 作为目标。如果要开发桌面和移动应用程序,请创建一个包含桌面和移动项目的项目组。唯一的区别是该目标的 UI。所有 非 UI 代码都可以重用。因此,请让您的 非 UI 代码远离表单
  • 是的,我可以这样做,但是 dproj 文件中究竟是什么让 Delphi IDE 以一种或另一种方式对待我的项目?

标签: android macos delphi firemonkey delphi-xe5


【解决方案1】:

您不能将桌面移动目标添加到移动设备。主要原因是桌面平台有更大的屏幕空间,还有另外一种构建UI的理念。所以,当然,你可以在移动设备上制作窗口UI,但它使用起来不方便,并且不响应移动UI Guildline doc。 Apple 还保证不会将您的应用程序应用到 App Store。

但是,您可以使用一个代码库创建两个项目。

  1. 创建移动项目
  2. 创建桌面项目
  3. 将业务逻辑与 UI 分离
  4. 您可以为每个项目创建自定义表单或使用存在(仅将您的常用表单添加到移动或桌面项目)。

谢谢

【讨论】:

    【解决方案2】:

    我无法将 OSX 目标添加到移动项目(即使 Win32 有效),也无法将 iOS/Android 目标添加到 Win32/Win64/OSX 项目。

    不同的项目类型有不同的后端依赖。在移动项目中允许 OSX 是没有意义的,所以它被禁用了。在桌面项目中允许 iOS/Android 是没有意义的,因此它们被禁用。在移动应用程序中允许使用 Win32 的唯一原因是有助于在不使用设备/模拟器的情况下进行本地测试,但您不应在未先进行设备/模拟器测试的情况下进行部署。

    【讨论】:

    • 对不起,我的问题可能不够明确:我对“为什么”目标平台被禁用不感兴趣,而是对如何启用它们感兴趣.从最终用户的角度来看,运行 Windows 8.1 的 10 英寸华硕平板电脑与 iPad 或 Android 平板电脑并没有什么不同。如果平台有任何差异,纯粹是由于外形因素,所以我有责任适当调整 UI。那么给定一个 Delphi XE5 FireMonkey 项目,我该如何更改它,以便 Delphi IDE 将其识别为 FM HD 项目与移动项目?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多