Updates from 八月, 2009 Toggle Comment Threads | 键盘快捷键

  • admin 17:58 on 2009-08-12 链接地址 | 回复  

    FLEX服务端代码的结构思考 

    文章修改:
    时间:2009-08-18
    原因:罗东东同学的热心指摘出Flash的跨域访问限制及解除

    今天在逛douban的时候看到匡威的网站 http://converse.com.cn/swf/home.html。

    这个网站是纯flash的网站,包括产品介绍,会员注册等功能。

    遂想了一下Flex与自己的或者他人的(比如GOOGLE MAP)服务端的API交互问题:

    • 传统的html式的网站,模式是用户发送请求,服务器根据需要来自己处理或者调用他人的服务器API来处理请求,最终就处理结果返回给客户端浏览器。
    • Flex网站,则与Ajax类似,是一个通过异步请求完成客户端画面填充的。即,客户端直接和自己的或者他人俄服务器端API进行交互,返回的数据整理与显示的安排,完全由客户端来控制。这样就可以省去,他人服务器API -》自己服务器-》客户端 的流程。而变成他人服务器API-》客户端。

    FLEX这种结构的好处,当然就是为啥人们要用Ajax获得好处。但是FLex和AJAx的区别是Ajax不能跨域名操作。而Flex无此限制。

    ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。

    Flex跨域访问也是有跨域限制的,但是可以由提供API的服务器,主动设置该限制。

    提供服务的站点,需要部署一个crossdomain.xml来设定跨域限制设定。

    如果本身想允许任何网站访问,哪么它肯定在根目录放了一个 crossdomain.xml, 里头写 *,

    例如   http://www.chanet.com.cn/crossdomain.xml

    想到这里,我想了下,服务端API的编写问题:

    1. API的实现方式 HTTPService,WebService,RemoteObject。WebService可以使用SOAP(简单对象访问协议)
    2. API的登陆,传统的HTML方式,需要自己的服务器和他人的服务器进行登陆控制及保持登陆状态。Flex是客户端直接和服务端的API交互,应该可以使用cookie,session套路解决。
    3. 如果要提供一套多个功能的api接口,最好像google那样,一个登陆,所有网站全部登陆。即Flex中调用的多个API,只需要登陆一个Login的API,其他的API都可以使用。不需要多次登陆。
    4. 实现多个api接口时,可以参考ecshop的实现思想,一个controller接受act参数,controller根据act的不同,调用不同的api方法,或者跳转到不同的页面。(这里不知道flex调用api时是否支持 api的跳转,应该不支持)。
    5. 这样的话,MVC的Control和View可以完全分离,Control负责根据View的选项,进行处理,返回数据,View接到数据负责显示。
    6. 这样的Control返回数据统一是XML形式,这样可以跨更大的View种类,flash,ajax,桌面程序等。
    7. 这样就需要在编码开发前,确定下Control和View之间传递的数据,及数据类型,数据格式。

    嗯,乱想一通,感觉从HTML到Flex的最大改变是

    他人服务器API -》自己服务器-》客户端 的流程。而变成他人服务器API-》客户端。

    似乎和现在炒得很热的 云计算 有些相同的思想。

     
  • admin 11:04 on 2009-07-08 链接地址 | 回复  

    Flex & ActionScript书籍 

    Flex3Cookbook英文版

    flex3cookbook

    Flex3Cookbook常青中文版

    flex3cookbook

    O’Reilly.Learning.Flex.3.Jun.2008

    reillylearningflex3jun2008part01

    reillylearningflex3jun2008part02

    learning_flex_examples

    http://greenlike.com/

    PROGRAMMING.ACTIONSCRIPT3

    programmingactionscript3

    ActionScript 3.0 Cookbook 中文版

    actionscript-30-cookbook-e4b8ade69687e78988

     
c
写新的
j
下一篇文章/下一个回复
k
前一篇文章/以前的回复
r
回复
e
编辑
o
显示/隐藏 回复
t
回到顶部
l
go to login
h
show/hide help
shift + esc
取消