gpt4 book ai didi

apache-flex - 在 Flex 和 AIR 之间共享代码

转载 作者:行者123 更新时间:2023-12-01 11:07:16 25 4
gpt4 key购买 nike

如您所知,我们可以基于 flex 构建 RIA 应用程序。此外,我们还可以构建基于 AIR 的桌面应用程序。我有一个问题,如果我们想同时构建 Web 和桌面应用程序。我们可以使用相同的代码将我们的作品发送到网络和桌面吗?

最佳答案

如果您为此设计应用程序,那么在 Flex 和 AIR 构建之间共享 99% 的代码库应该没有问题。

  • 您将需要针对 Flex/AIR 版本的单独应用程序 MXML,因为 AIR 使用 WindowedApplication Flex 使用 Application

  • 您需要抽象化您对任何 AIR-only API 的使用。也就是说,任何标有 AIR-only 图标 () 在 the Online Documentation .如果您使用像 Swift Suspenders 这样的依赖注入(inject)容器,您可能会发现此过程更容易。 .

  • 或者,您可以将服务定义 拆分到两个不同的源代码树中。这将导致您的 AIR 项目和 Flex 项目共享一个源路径,但也有自己的源路径。这样,访问 com.application.MyService 的代码将在 AIR 和 Flex 之间共享,但是 com.application.MyService实现会根据使用的“服务源路径”而有所不同。

  • 您可能会发现为每个构建配置编译器标志很有用,例如 -define+=CONFIG::AIR .这允许您使用条件编译,以便您可以为两个构建编译相同的文件,但包括 AIR 构建的特定代码。

这是一个条件编译的例子:

public function getMyService() : IMyService
{
CONIFG::AIR
{
return new MyServiceThatUsesAnAIROnlyAPI();
}

return new FallbackServiceForFlex();
}

不幸的是,没有办法“否定”条件标志(即 !CONFIG::AIR ),因此您要么需要明智地使用它,要么包括两个标志( CONFIG::AIRCONFIG::FLEX )

关于apache-flex - 在 Flex 和 AIR 之间共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4203252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com