灵活的最佳做法?
我觉得在Flex上很容易找到示例,教程和简单示例。
似乎很难根据现实生活中的项目找到技巧和良好做法。
有关如何的任何提示:
- 如何编写可维护的动作脚本代码
- 如何确保清洁分离的关注。是否有人在实际的Flex项目上使用了cairngorm,puremvc或者easymvc等MVC框架?
- 如何使用blazeds / amfphp从服务器获取数据?
- 如何减少最终用户的延迟?
- ...
解决方案
我在工作中经常与Flex一起工作,并且很乐意为我们提供帮助。.但问题值得每一篇都提供一篇文章:)我将尝试一些简短的答案。
可维护的代码:我认为其他所有OO语言都适用相同的规则。我将遵循一些特定于flex的规则:使用强类型变量,始终将调度事件视为UI组件相互交谈的方式(多做一些初始工作,非常灵活,以后再分离)。
框架:看了一下,阅读了文档。.很好,但是我仍然觉得它们的复杂性并不能由它们提供的好处来平衡。无论如何,我想在这一点上改变主意。
与服务器交谈:现在我正在使用BlazeDS,它运行良好。
延迟:我们是指客户端/服务器通讯吗?如果是这样,则应该探索BlazeDS实现的各种类型的通道..仅拉式,双向HTTP轮询,在http(comet)上几乎实时。 BlazeDS是BlazeDS诞生的,它提供了另一种称为RTMP的协议,它不是http-tunnelled的,因此防火墙和代理服务器可能会出现问题,但是它提供了更好的性能(LCDS是免费的封闭源代码版本)。我在Intranet环境中使用标准的http通道,即使使用大型数据集,也没有发现真正的性能问题。
好吧..很多东西,现在关于这些要点都不能更具体,请问我们是否需要:)
以下是与Flex / AS3最佳实践和标准有关的大量资源:
Flex SDK编码约定和最佳实践
Flex最佳实践第1部分:设置Flex项目
我发现第一个特别有用,我尝试确保与我合作的任何团队都已阅读
我发现MVC框架RIAWave链接绝对令人难以置信。它是超轻量级的,易于使用。我发现Cairngorm和PureMVC的学习曲线非常陡峭,而且两者对我来说都显得过于庞大。 RIAWave不会影响工作,只为我们提供MVC基础知识。
后端上的AMFPHP也非常好。 AMFPHP还具有一个apache模块,该模块负责在快速发展的C语言中对发送和接收的数据进行序列化/反序列化。
如果担心延迟,我们将要确保获得一个好的Web主机,甚至将其部署到多个数据中心,以使用户永远不会远离服务器。听起来有点担心,不过还为时过早。