在我的 Flex 应用程序中获取数据的最佳方式是什么?

2024-02-28

我是 Flex 开发新手,在创建新的移动项目时,它询问我是否要将其连接到某些服务器,并给了我四个选项“ColdFusion、PHP、Java 和 blazeDS”。

我一直在 java 工作,而不是 PHP 人员,我会简单地选择Java并忽略了所有其他。但由于效率是我当前项目中的一个重要问题,我不想冒险。

照你说的考虑到大多数时候我会在数据库中存储大量二进制数据(即音频/视频文件等),哪一个是最佳选择,即 ColdFusion、BlazeDS 或 Java?


由于您是 Java 人员,因此您可以立即放弃 PHP 选项:它的 AMF 远程处理选项比其他 3 个选项慢,而且您不想学习新语言。

这就只剩下 Java、CF 和 BlazeDS,它们基本上都是 Java 的风格,并且在性能方面它们非常相似(如果使用正确:请参阅进一步内容):

  • Java:最基本的选项;我认为这是 AMF 远程处理最快的选择;另外你懂这种语言
  • BlazeDS:这实际上是一个Java服务器应用程序,允许您将消息推送到客户端;所以你也可以用Java编写;但如果您不需要添加的功能,请不要打扰
  • ColdFusion:Java 之上的“生产力层”:您是否喜欢该语言由您决定(我个人不是一个忠实粉丝)。您必须设置 ColdFusion 服务器。虽然CF服务器的开发者版本是免费的,但商业版本非常昂贵(除非您使用Raelo或BlueDragon)。

但有一件事你需要知道。 CF 中的实例化非常昂贵 - 我的意思是比 Java 慢 500 倍 - 因此,如果您有很大的列表,那绝对是一个禁忌。除非你使用我几个月前遇到的技巧:你必须创建一个“结构”并给它一个“__type__”属性,而不是实例化一个对象。

例如,而不是:

var instance = new path.to.MyClass();
//or
var instance = createObject("component", "path.to.MyClass");

像这样做:

var instance = structNew();
instance["__type__"] = "path.to.MyClass";

ColdFusion 的速度将与 Java 一样快,甚至可能稍快一些。

我有一些基准来支持这一点。该图是用某些语言创建 50000 个实例所需时间的比较。 (我实际上是想告诉我的老板 CF 到底有多糟糕。)而 CF8(不在图表中)甚至慢了 100 倍。

然后我将 AMF 序列化和“类型化结构”(如前所述)添加到列表中,结果如下:

图形中丢失了一些列名称,但左侧第二列是纯 Java 选项。因此,通过这种方法,CF9 似乎实际上比 Java 更快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在我的 Flex 应用程序中获取数据的最佳方式是什么? 的相关文章

随机推荐

  • 将 OSGi 包分组以形成一致的“应用程序”的最佳方式是什么

    OSGi 方式 是开发包含离散的 连贯的功能块的单独的包 有时这些包包含实用程序类 有时它们依赖于实用程序类并设置自己的 OSGi 服务 另一方面 用户不太可能接触到捆绑包 他们更关心的是应用 一个执行任务或解决问题的软件 通常 应用程序将
  • 如何获取 LINQPad 中列出的 SQL Express 数据库的连接字符串?

    有没有一种简单的方法可以获取 LINQPad 连接窗口中列出的数据库的连接字符串 除了使用 Visual Studio 的对象资源管理器 Making sgmoore https stackoverflow com users 125759
  • 重新绘制留下的痕迹

    我知道这不是第一次问这个问题 但回答对我没有多大帮助 所以我正在帮助我终于得到答案 我制作了这个小游戏 让汽车绕着轨道行驶 必须使用矩形 当我使用repaint 方法代表汽车的矩形在新位置重新绘制 但留下一条痕迹 我有这个代码 import
  • 如何使用python在hadoop中保存文件

    问题 我开始学习hadoop 但是 我需要使用python将很多文件保存到其中 我似乎无法弄清楚我做错了什么 谁能帮我这个 下面是我的代码 我觉得HDFS PATH是正确的 因为我在安装时没有在设置中更改它 这pythonfile txt在
  • 什么是覆盖事务超时的注释?

    EE 新手 尝试重新配置 Weblogic 的默认超时 30 秒 而不必编写 weblogic ejb jar xml 文件 我现在只使用了注释 但我看到的唯一内容是在 DD 中
  • jQuery 从选定的下拉列表中获取 html id [重复]

    这个问题在这里已经有答案了 由于我的表单中有多个下拉菜单 我想从选定的下拉菜单之一检索 HTML id 我的更改下拉菜单有以下代码 select name product type change function 使用时console lo
  • Rplotly - 绘制分组线

    我正在从 ggplot2 迁移到plotly 以便利用它们提供的交互功能 我确实意识到plotly库有一个ggplotly函数 我可以用它来封装本机ggplot命令 但我想学习如何使用本机plotly命令绘制类似的图形 我的问题是我似乎无法
  • 自定义 RES 屏幕和 RES 图标已替换为默认的 Cordova 屏幕和图标

    我正在使用适用于 Apache Cordova 的 Visual Studio 工具 我已经测试了 CLI 6 4 0 不幸的是 RES 屏幕和 RES 图标存在错误 如果我使用 CLI 6 3 1 这个问题就会消失 为了演示它 我从头开始
  • 有没有可以阅读 ePub 书籍的 API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试为 WP7 创建电子书阅读器 到目前为止 我还没有找到任何 API 来阅读 ePub 书籍 谢谢 扎因 对于基于 DRM fre
  • 列的数据被截断?

    更改 MySql 列的数据类型以存储后Twilio 通话 https www twilio com docs api rest call ids 34 个字符字符串 我尝试使用以下命令手动更改该列中的数据 update calls set
  • 如何在带有 View Holder 的自定义 ListView 中使用 Button OnClick

    我需要一些帮助 我正在使用视图保持器从动态数组适配器显示 我有列表视图 每行包含 标题 文本视图 副标题 TextView 进度条 下载按钮 按钮 我想在单击下载按钮时显示进度栏并隐藏下载按钮 单击第一行的下载按钮时 会显示第一个进度条 但
  • 如何在glmnet中指定日志链接?

    我正在使用 R 中的 glmnet 和 caret 包在广义线性模型上运行弹性网络 我的响应变量是成本 其中成本 gt 0 因此我想为我的 GLM 指定一个带有日志链接的高斯族 然而 glmnet 似乎不允许我指定 link log 如下
  • freeglut 与 glew 的区别?

    我最近开始学习 OpenGL gt 3 3 并且我注意到很多示例和教程都使用 freeglut 和 glew 但根本没有真正解释其中的区别 在谷歌搜索和阅读令人作呕的内容之后 我发现的最好的描述是这样的OpenGL相关工具包和API htt
  • 无法使用本地 hadoop 连接 azure blob 存储

    在尝试连接时本地hadoop与AZURE BLOB存储 即使用作为 HDFS 的 Blob 存储 和 Hadoop 版本 2 7 1 它抛出异常 这里我已经通过设置属性成功形成了本地集群
  • 我可以更新 INT 值 + 1 并返回新值吗?

    MySQL PHP 是否可以在一次查询中增加 INT 值并返回新值 sql mysql query UPDATE table SET number number 1 WHERE id uniqid updated number 或者我需要发
  • SQL Azure 和 Azure 表存储如何比较? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何检查 Ubuntu 上是否正在运行一个我不知道名称的服务

    我不知道该服务的名称 但想通过检查其状态来停止该服务 例如 如果我想检查是否PostgreSQL http en wikipedia org wiki PostgreSQL服务是否正在运行 但我不知道服务的名称 那么如何检查其状态 如果服务
  • 如何在 Swift 中分配/释放不安全指针?

    在 Beta 4 中 我的代码运行良好 var red green blue alpha UnsafePointer
  • 仅当字符串中的第 n 个字符是 R 中的特定字符时才替换它

    我正在将一系列调查导入为 csv 文件并组合成一个数据集 问题在于七个文件之一的某些变量的导入略有不同 数据集很大 我想找到一种方法来编写一个函数来运行给我带来麻烦的数据集 在某些变量中 应该有点的时候却有下划线 并非所有变量都具有相同的格
  • 在我的 Flex 应用程序中获取数据的最佳方式是什么?

    我是 Flex 开发新手 在创建新的移动项目时 它询问我是否要将其连接到某些服务器 并给了我四个选项 ColdFusion PHP Java 和 blazeDS 我一直在 java 工作 而不是 PHP 人员 我会简单地选择Java并忽略了