|
锁定老贴子 主题:Flash RIA各种方案的讨论
该帖已经被评为精华帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2005-03-29
laszlo3.0b2已经解决了中文问题的。
我最近也对基于flash的RIA非常非常感兴趣。碰巧前两天看了一下laszlo,还没有时间深入去研究它。不过我对laszlo并不很看好。原因: 1、虽然号称未来是XUL类型的RIA应用的天下,但是我最近对用XML描述界面的开发效率抱有极大的怀疑。UI类型的应用程序开发的成败历来取决于IDE的“所见即所得”的特性和方便的“拖拉”功能。在这一方面,除非laszlo开发出来类似Flash的开发工具,否则不会在未来的竞争中脱颖而出。 2、flash的标准掌握在Macromedia手中。 3、laszlo使用XML描述界面,使用Javascript处理事件。我没有看到laszlo具备良好的远程调用功能支持,这对于RIA应用来说是至关重要的。 目前我考察基于flash的RIA方案,标准就是两个: 1、远程调用功能支持 2、良好的IDE支持 目前来说,Macromedia显然都是具备的,客户端的IDE加上服务器端的coldfusion,或者Flex。当然Macromedia的方案缺陷就是商业授权费用比较高昂,并且也不是开放的。 我比较看好如下方式搭建的一套基于Flash的RIA: 客户端使用Macromedia Flash设计界面;事件响应和数据绑定使用ActionScript,可以脱离flash,在Eclipse+MTASC+ Flashout环境中像Java代码一样编辑和调试; 服务端使用基于HTTP的AMF协议的开源实现OpenAMF; 目前这样的架构是我比较感兴趣并且准备尝试的。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
| 返回顶楼 | |
|
时间:2005-03-29
robbin 写道 laszlo3.0b2已经解决了中文问题的。
我最近也对基于flash的RIA非常非常感兴趣。碰巧前两天看了一下laszlo,还没 有时间深入去研究它。不过我对laszlo并不很看好。原因: 1、虽然号称未来是XUL类型的RIA应用的天下,但是我最近对用XML描述界面的开发效率抱有极大的怀疑。UI类型的应用程序开发的成败历来取决于IDE的“所见即所得”的特性和方便的“拖拉”功能。在这一方面,除非laszlo开发出来类似Flash的开发工具,否则不会在未来的竞争中脱颖而出。 2、flash的标准掌握在Macromedia手中。 3、laszlo使用XML描述界面,使用Javascript处理事件。我没有看到laszlo具备良好的远程调用功能支持,这对于RIA应用来说是至关重要的。 哈哈 真是深刻啊 我对Laszlo的研究也仅限于一天啊 不过对于R老大的疑问我也试着狡辩一下 1.IDE的确是非常非常重要的部分,实际上IBM的某些人已经给出了回答,据说是支持所见即所得(我还没看过)的LZX开发。 这里是下载地址http://alphaworks.ibm.com/tech/ide4laszlo 另外想想现在JSP开发中的情况吧,各种私有TAG严重影响页面显示,没有那种工具可以完美支持,但我们现在还不是开发的很好吗。 我以为RIA出现是因为HTML交互能力太弱,替代的交互方案如JS等都不完美,如果解决这个问题,即使IDE差点又有什么问题呢,反正不会比现在情况更差。 2.这是最值得担心的问题,同意。不过现阶段flashplay都是向下兼容的,影响范围有限。 3.很强大的远程调用能力吗?有,当然无比强大,甚至可以与WEBSERVICE直接组成系统。 但如果没有的话,也不会影响我现在的使用,使用XML与后台交互数据已经足够。当然使用js的确会影响数据的交互,比如安全问题。 我的观点是瑕不掩瑜,laszlo达到了RIA的主要目的,而且实现比较完整 其他问题都是可以解决的, 哈哈,特别是开源项目。 |
|
| 返回顶楼 | |
|
时间:2005-03-30
关于laszlo的flash标准掌握在MM手中,其实laszlo已经开始将最终生成flash的部分分离了,下一个版本应该就会支持多种输出格式了,比如SVG等等
|
|
| 返回顶楼 | |
|
时间:2005-03-30
Laszlo的flash部分只是使用了swf构建图形的部分,并没有使用Macromedia Flash中的高级功能,如ActionScript的AMF。
Laszlo的通信,在我最近的这个项目中,我是使用javarpc和spring的controller通信的。在examples里有一个javarpc包,里边有几个例子,我的做法也是无出其右的。可以完整地返回hibernate的pojo,只要申明objectreturntype="javabean"就可以了。 比如得到一个List的User,从remotecall的ondata中可以得到一个Array,你用Debug.inspect看他,就是一个个的User,你完全可以从arr[0].username得到这个User的用户名,等等。 另外,关于IDE,开始我也报以幻想,可不可以写一个,最后发现,最多最多也只能做到FlexBuilder的水平。 Laszlo完成一件事情,可选择的写法比Flex多 所以我还是老老实实用DTD验证的方式写。还是可以提高不少效率的。 |
|
| 返回顶楼 | |
|
时间:2005-03-30
关于IBM的laszloIDE1.2
首先,它是不支持3.0+的。也不支持eclipse3.1。也不能和tomcat插件一起用。还会使用掉你几个快捷键,比如ctrl+alt+r;其次,你必须手工编译你的java部分,如果对一个.lzx编译,会导致cpu占用99%的,而且你可能不能使用ctrl+shift+f了;再次,他会给你自动部署,当然是以一种缺乏头脑的方式,所以你必须写ant脚本自己部署。 开始的一个月,我都是使用这个东东,导致我的效率十分低下,甚至我还没有开始写laszlo程序 而后来只是用tomcat插件和XMLBuddy,我一天就能写400行lzx |
|
| 返回顶楼 | |
|
时间:2005-03-30
我不是觉得Flex有多好,我比较倾向的方案是:
Flash + OpenAMF 既不使用Flex,也不是laszlo,在服务器端只有一个OpenAMF的lib,这种方式对于服务器端的侵入性是最低的,和你开发普通Java Web应用完全没有区别。就是引入了OpenAMF的一个jar,同时可以最大限度利用Flash强大的AMF通讯能力。 客户端使用Macromedia Flash画界面(这个可以由美工来做),使用Eclpise+Flashout plugin来写ActionScript(界面和代码分离,美工和程序员各行其是) 这种方式比用xml editor写界面强多了。 |
|
| 返回顶楼 | |
|
时间:2005-03-30
b051 写道 关于IBM的laszloIDE1.2
首先,它是不支持3.0+的。也不支持eclipse3.1。也不能和tomcat插件一起用。还会使用掉你几个快捷键,比如ctrl+alt+r;其次,你必须手工编译你的java部分,如果对一个.lzx编译,会导致cpu占用99%的,而且你可能不能使用ctrl+shift+f了;再次,他会给你自动部署,当然是以一种缺乏头脑的方式,所以你必须写ant脚本自己部署。 开始的一个月,我都是使用这个东东,导致我的效率十分低下,甚至我还没有开始写laszlo程序 而后来只是用tomcat插件和XMLBuddy,我一天就能写400行lzx 首先感谢豆浆老大对我某些理解的澄清 另外可不可以豆浆老大将您实施Laszlo的过程总结一下 遇到的问题 感觉的缺陷 最佳实践 我写这个帖子目的也是想共享自己的经验 谢谢 |
|
| 返回顶楼 | |
|
时间:2005-03-30
看了一下robbin谈到的架构的介绍,我还是有两点疑问,
1、角色真的能就此分离开吗?组件上的事件该怎么分呢?onmouseover归美工,oninit归程序员?laszlo在他的文档里也给出了不同角色应该就角色熟悉的laszlo部分,粗略看了一下除了Developer以外的人应该看的东西,两两都有交集的,但是觉得还算合理。不知道这种方案在应付大型的程序的时候该怎么办 2、laszlo,flex他们的初衷也不仅是让交互更友好吧?我想,以XML描述的方式让开发简化才是更重要的目的吧。 |
|
| 返回顶楼 | |
|
时间:2005-03-30
robbin 写道 我不是觉得Flex有多好,我比较倾向的方案是:
Flash + OpenAMF (界面和代码分离,美工和程序员各行其是) 这种方式比用xml editor写界面强多了。 保留的赞同R老大的话 赞同的是 1.界面部分与业务代码分离 2.美工和程序员各行其是 保留的是 1.LZX考虑了定义私有界面组件, 并可以容易的进行继承 这样的方式就好像是,模块式开发方法和OO的区别,这里纯FLASH是简单的 模块式开发方法,而LZX则可以利用可定制的组件优势。这个我还没说清楚。 我想应该在第二日里面说说。 2.还是那句话即没有IDE,没有所见即所得,即使用xml editor写界面,也绝对不会比现在那种私有TAG遍布JSP的情况更差。原因很简单现在开发瓶颈在于HTML+JS这种客户端界面表现力太弱,而不在于开发速度。如果有良好的私有组件,copy & pause很快就可以构建出系统。 |
|
| 返回顶楼 | |
|
时间:2005-03-30
flybart 写道 首先感谢豆浆老大对我某些理解的澄清
另外可不可以豆浆老大将您实施Laszlo的过程总结一下 遇到的问题 感觉的缺陷 最佳实践 我写这个帖子目的也是想共享自己的经验 谢谢 1、在eclipse里建一个tomcat project 2、把lps和WEB-INF/lps(除了work)复制到你的项目 3、设定*.lzx以XMLBuddy打开,并且对canvas和library用lzx.dtd验证(PUBLIC Id: -//Laszlo Systems, Inc.//DTD LZX 2003/05//EN SYSTEM Id: http://xxxx/lps-3.0b2/tools/lzx.dtd) 4、打开自动编译,打开一个浏览器 |
|
| 返回顶楼 | |









