我曾经使用soap webservices将图表数据传输到我的flex应用程序,但最近由于性能,方便的输入等原因而切换到使用BlazeDS。
由于以下原因,我正在考虑切换到使用JSON(就像我在应用程序的其他部分一样):
其他人遇到BlazeDS的这些问题? BlazeDS值得麻烦吗?
*
我可以使用Externalizable接口而不是不同的DTO,但这也很痛苦。
答案 0 :(得分:6)
我不会放弃使用远程处理。远程处理的性能将远远优于JSON。请记住,ActionScript没有解码JSON的方法,因此您需要使用AS库,它比播放器内置的任何内容都要慢。你最好使用XML而不是JSON。
您应该能够通过将特定属性标记为瞬态来排除它们。 ActionScript有[Transient]元数据,这个想法来自Java。我们用于远程处理的C#库具有Transient支持。我相信BlazeDS也是如此。
使用正确的工具可以轻松进行调试。你应该得到查尔斯。它提供了非常好的AMF请求和响应消息视图(假设您使用的是HTTP而不是RTMP,我不知道RTMP调试)。
你似乎也在选择BlazeDS和任何非遥控器。你有更多的选择。 BlazeDS只是Adobe提供的一种远程实现。他们也有一个商业广告。还有许多开源远程项目可供使用。我们使用一个很棒的C#叫做Fluorine。开源Java选项是Red5和OpenAMF,但我认为还有其他选项。
RTMP和HTTP远程处理之间也存在区别。您可以通过这些协议中的任何一个将数据导入Flex,每个协议都有其优点/缺点。我个人更喜欢HTTP远程处理,除非你绝对需要RTMP提供的功能(推送,流媒体)。 HTTP将更容易调试,并且不应该有负载均衡器的问题 - 它只是HTTP调用,其中内容恰好是二进制。