天天看点

[java]关于Fleco (flash+echo) 的设想

echo的做法是用纯粹的java代码生成浏览器HTML界面,并且响应客户事件。

由于html天生的一些特性,界面很难做的象flash一样美观。

那么echo的server side event机制+flash是不是一个很好的组合呢?

先来看看Flash:

开发语言actionscript2,支持面向对象。

组件:

 flash mx自带组件。

​​ 国人iiley开发中

开发工具: eclipse+asdt+mtasc+flahout 比JDT仍然有巨大差距

flash本身效果比较好,但是稍微复杂一点的例子运行有些迟钝。flash的后续版本和新的组件应该会有更好表现。

as2语言本身类似javascript,属于弱类型语言,可以用类似java的强类型编程,个别地方还是不大爽。

目前的IDE根本别指望重构什么的高级应用,Flash MX自带的开发工具更是难用的一塌糊涂。

目前发现两个工具可以解析swf, 便于理解swf结构和mtasc机制。

 ​

 Action Script Viewer

flash用于客户端表现应该没有什么问题。剩下的问题是跟echo通讯。

echo2发布版本有三个jar: app/webcontainer/webRender, 从字面上也能看出作者希望把表现和渲染独立开。而且从echo的论坛上也能看到作者是作了这些方面的而打算。但是目前还没有类似工具出现。

根据这两天的研究,远程控制Flash的变化可以有两种方式:

1. xml, 利用as2本身访问server端,根据返回的xml解析执行为客户端见面。

 这种方式的好处是server端比较通用,甚至可以和flash无关。坏处是flash压力更大。现在还不清楚,如果服务器上增加新控件,flash要怎样应用(动态生成?)

2. swf. 远程加载swf.

 这是agent mulder指点的,并且mm上也有人建议。服务器端生成控制客户端的as2脚本,编译成swf, 由flash加载并且执行。

 初步试验结果可行,它们的_root是共通的,简单的创建控件,修改属性都可行。担心:实际运行是否有安全限制?

 一个小问题是as2的编译过程。mtasc可以编译,但它是外部exe。另外编译出来的swf自动打包了相关as文件,其实主flash中已经存在,有些臃肿。作者承诺在下个版本中加强packagelevel的exclude, 应该可以减肥到几百字节内。

 基于java的编译工具还没看到,应该不是问题。

也许还有其它更好的方案,欢迎高手指点!