有很多方法可以将数据从 Rails 应用程序传递到 Flex 二进制文件。现在,我正在使用带有 xml.erb 模板的旧 e4x resultFormat。我以前做过 AMF,但我觉得将参数内联到嵌入本身是一个更好的解决方案,因为您不必等待浏览器加载 swf 二进制文件和二进制文件来发出 Web 请求。
考虑到所有这些,如今使用 Rails 后端渲染 Flex 小部件的最佳实践是什么?
有很多方法可以将数据从 Rails 应用程序传递到 Flex 二进制文件。现在,我正在使用带有 xml.erb 模板的旧 e4x resultFormat。我以前做过 AMF,但我觉得将参数内联到嵌入本身是一个更好的解决方案,因为您不必等待浏览器加载 swf 二进制文件和二进制文件来发出 Web 请求。
考虑到所有这些,如今使用 Rails 后端渲染 Flex 小部件的最佳实践是什么?
在我看来,您根本不应该使用 Flex。Flex 非常适合编写加载和显示数据的应用程序,但如果您只想显示图表,则会产生巨大的开销。如果您担心在两个单独的响应中提供 SWF 和数据,您应该担心 Flex 框架的 200-300 K 开销。
使用像Flot这样更轻量级的东西,并提供生成图表和数据的 JavaScript 代码。我不认为 Flex 是一个适合你想要的平台。
如果图表只是您放置在普通 html 内容中的图形,那么您自定义编译 swf 的解决方案可能是一个不错的解决方案。当然,您仍然应该探索像 Theo 的建议这样的替代方案。
如果您的整个应用程序都是闪存,那就是折腾了。如果简单地导入 swf 是最快的,请继续。但是,如果您需要使事情更具交互性、在别处使用数据或获取新数据,那么最好使用 xml 模板,或者如果您懒惰,最好使用ActiveRecord::Base#to_xml方法。
这取决于,您是否希望图表是“实时的”,例如在数据更改时实时更新?如果是这样,那么将 AMF 与 Flex 本机 RemoteObject 一起使用可为您提供大量轮询选项,您也可以只使用更简单的 Flex 本机 HTTPService。
在此处阅读它们:Flex Actionscript 3.0 文档