发新话题
打印

关于Flex的几个瓶颈

关于Flex的几个瓶颈

最近好像不是太忙了,闲下来的时候却又总是想着关于Flex和ASP.NET各个方面的优胜劣汰,又一直想用Flex来开发一个在性能,安全性和外观上都不错的Blog系统。但最近却遇到了前所未有的困难,让我着实有点不知道如何下手,相对于ASP.NET,我觉得这实在是有点让人难受。

一。 在安全方面,似乎太有问题了。尤其是考虑的越深越让人头疼,如果要用WebService的话,中间不可避免的产生一些让人无法避开的问题,比如说:权限问题、用户名和密码问题。一般来说,我个人比较喜欢用WebService,因为其广泛性。然而如果在MXML里面调用WebService,并要执行像Delete或Insert命令的时候,世界上的任何一个用户都能看到这样一个WebService对应的Opration。因为MXML的源代码是开放的。那么在安全性方面,迫使我们将不得不放弃这样一项后台操作。(可笑的是:我想到用Flex来显示页面,然后用ASP.NET来操作后台数据库)。同时SharedObject也并不安全,因为显示在本机上,任何一个写入的sharedObject都可以人为的输入,这样就让人感觉太不安了,对于头脑聪明的人来说,逆思考时最爱做的一件事。

二.  在数据显示方面,比较好用的是DataGrid,然而这样一个DataGrid却远远无法满足我们在应用方面的需求。拿个很简单的例子来说:你要显示像本站的的主页面的那样的形式。DataGrid似乎线显得苍白无力,在MXML的Core的Pakeage中,我发现有Repeater这样一个类。于是花费心机想好好利用一下里面的东西,不过其复杂程度似乎超越了我的能力。并且似乎还非得结合使用Panel和Tile这样两个组件来使用。很奇怪的是,在Beta1.0和Beta2.0中我还能在Components中看到Repeater这样一个可视化的组件,结果想在Beta3.0中想研究一下的时候,却找不到了,这样就只能用代码了,但用代码却又得不到很好的可视化效果,在数据邦定方面更是让人头痛。现在对ASP.NET的DataList和Repeater的感觉顿感亲切啊。

三. 如果一个网站不仅仅只有几个页面,而是很多页面,那么这样一个MXML Project将表现得很不好,因为在一个工程里面只能有一个MXML文件(这是Adobe推荐的)。这样我们就得用更多的State来显示了,而这样无疑将增大代码的复杂程度,在可阅读性方面将大打折扣。同时将无可避免的增大最后渲染输出的SWF 文件,那么下载又将是一个很大的问题。

四.  在代码分离方面。虽然你可以自定义CSS文件,然而这样定义的CSS文件却并不能动态的显示在MXML文件中,这样很烦人。在编辑CSS文件的时候也没什么好的方式,更没有Dreamweaver那么好的CSS编辑方式。另外在ActionScript方面,这个应该算是一个亮点了,可是对于不理解什么是面向对象的人来说,就显得很困难了。Flex虽然上手容易,然而真正掌握其中的事件处理方式很程序,从真正意义上掌握却并不大容易。另外,我发现返回的XML Object中的String包含的<p><br>等等Html标签,在DataGrid中和别的一些控件中并没有接j决方式。

五.  外观显示,这既是它的一大亮点,又是它的一大不好的地方。好的是,我们并不需要下太大的功夫就能做出不错的效果;不好的方面就是,即使我们画好的功夫也不大能做出好的效果。同时Flash似乎和Flex整合的还并不是太好,如何将在Flash里做好的东西应用到Flex中也是一个研究的问题。

综上所述,虽然Flex刚出世就给人一个又一个的惊喜,然而想让更多人参与进去,并不是很容易的一件事。这里我不得不说Flex炒作有点厉害了,就同Ajax一样,人们最开始看到了简单的一面,但对于深层次的一点的东西却并不了解,对于语言的研究不仅限于ActionScript,我想最好还要学学更高级的语言,这样才能更好的理解其中的长和短,而不盲目的追风。当然Flex还在成长,还在不断进步,我还是相信它的前途的。也相信Adobe将不负Macromedia所望,最终将创造另一个奇迹。

TOP

Re:关于Flex的几个瓶颈

AJAX确实不错,个人觉得更有发展

TOP

Re:关于Flex的几个瓶颈

1、安全方面,”然而如果在MXML里面调用WebService,并要执行像Delete或Insert命令的时候,世界上的任何一个用户都能看到这样一个WebService对应的Opration“。
通过flex-config.xml里面的ServiceName+Webservice密码认证+服务器端的Session结合,安全方面不是问题。光是通过ServiceName,即使反编译看到了Opration,但你反编译得不到wsdl地址,如何调用Opration?
2、Flex从1.0走到2.0beta3,从RPC services到Data Services,可以看出它发展的倾向是企业级应用,如果楼主仅仅想到用flex来做网站,那就走远了。
3、一个工程里面可以有多个mxml,Flex的目标在与操作集成性,摆脱传统网页的页面跳转,用可重复加载数据的Component可体现这种优势。
4、DataGrid和List都有renderer属性,可以达到你要的样式要求。
5、Flash和Flex整合,请看http://macromedia-v5.emea.breezecentral.com/ra214w/
最后重声一下,flex不是用来做网站的。你的言论只能说明你根本不了解flex,不要误导初学者了,看看帮助再来吧。

TOP

Re:关于Flex的几个瓶颈

楼上说的不错 flex是面向业务逻辑处理需求更强的BS系统而不是网站. 安全性也不见得差,起码它的底层架构是J2EE,安全性可以认可. 我以前参与过一个基与.net webservice+flash的项目,结果因为性能负荷的问题而放弃使用了.从那以后,对于webservice我认为只有在确实需要用它的时候,比如分布式和异构平台产生的需求,才使用他.而不是把一个系统的业务逻辑处理都交付给webservice,很肯定的那不现实!即使.net把webservice层封装得再漂亮,也摆脱不了内部XML编程所带来性能消耗.所以,使用FLEX开发项目的话我更认同使用remoting,pojo等可以直接于业务对象交互的方式.

TOP

楼上的说的不错


但楼上的楼上说的有点~~~~~~

看看这个网站吧,就是用Flex+PHP做的,非常棒!

http://www.iflex.com.cn/?club
AS外包QQ: 254810452
http://www.an86.net/
http://www.feic8.cn/
月城少主穿越黑暗城市!

TOP

我想楼上的还没明白什么是FLEX,
并不是把一些改造过的FLEX UI组件放到FLASH中就称之为FLEX了
我记没错的话FLEX只有支持java平台版本,虽然之前的MM声称推出.net版本
FLEX是一套框架技术.基于j2ee技术的实现.例如标签技术,servlet,webservice等.FLEX实现表示层界面不需要flash开发软件设计,编译.它的表示层构建是基与jsp标签技术的.并且由JAVA后台调用系统中的swf编译程序来解释编译这些标签.

TOP

发新话题