刘文涛

Flex3,Struts2,Hibernate3,Spring2,UML,Oracle,mysql,tomcat,compass,lucene

   :: 首页 ::  ::  ::  :: 管理 ::

2008年7月8日 #

swf有他先天的优点,就是用户交互的友好。
所以在看到论坛上沸沸扬扬的RIA,RCP后,
1、XUL看了好些文档,觉得还不错,但是大家的评论给我感觉有点穷途末路?而且是在浏览器基础上的,放弃;
2、XAML是微软的,……放弃;
3、Flex虽然要钱多,但是开发者并没有多少限制,Flex Builder也是十分的出色。laszlo体积大了点,而且文档有点过时。但他的存在对Flex是件好事。Flash的存在让我相信离开浏览器也能生存是迟早的事情。在看过两者的Demo之后,我决定在未来3个月内搞定Flex。

SWT的程序真的让人写的很郁闷,Flex的examples让我心头一亮,短短几行ui描述就做了这么多事情,如果是SWT,没有400行搞不定的事情。
<mx:....>们都能干什么,是我接下来要学习的东西,今天把以前C/S结构的项目拿来,研究了一下,真是太rapid了!
1、把S放在Tomcat里,基本没有做什么,换了一下JNDI,花了1小时;
2、C显然不能用了,DAO里随便找了一个查询返回List,用RemoteObject,结果放在datagrid里,大体就这样子:
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
<mx:RemoteObject id="srv" source="test.DepartmentService">
<mx:method name="departments"/>
</mx:RemoteObject>
<mx:Button label="Get Data" click="srv.departments()"/>
<mx:DataGrid id="dg" dataProvider="{srv.departments.result}" width="100%" height="100%" />
</mx:Application>
在S里test.DepartmentService.departments()返回一个Set.
RPC就这么简单的实现了,一次就通过了,而且没有一贯的中文问题。1小时。
js提取数据?dom4j分析?serialized接口?JAXP?metadata API?统统不用自己搞了。

这样看来,写RIA的重点已经不是ui的布置、事件的处理,也不是通讯,而可以把重心放在优化通信,甚至优化离线,异步。当然,也可以有更多的时间做一些ui的特效。
Flex的高起点让我欣喜不已。
 
1。Flex是macromedia推出的新的表现层技术产品(或者说解决方案),基于Rich Internet Application的理念。简单的说,他的原理就是通过解析xml文件实时的生成SWF并返回到客户端。所以,最终用户看到的就是纯Flash的界面,也就是swf文件/字节流。

2。HTML已经雄霸Internet多年,已经跟不上当今全球网络环境日新月异的发展速度。使用HTML,表现方式和效果有限,虽然上手不难,但开发效率普遍低下,而且HTML与XML虽是表亲,但毕竟不如XML这般一清二楚,数据,逻辑,样式,排版,统统糅杂于一处,大不符当今分层解耦的大趋势。这也是为什么近年来,基于浏览器(其实就是基于HTML)的各种表现层框架层出不穷的原因之一。即使后来各路诸侯想尽办法,今天DHTML,明天JavaScript,还是无法彻底解决上文所说的两个问题。所以,瘦客户端技术-浏览器将死,胖客户端技术-RIA似要卷土重,倒也不是胡乱说得了。
posted @ 2008-07-08 16:34 刘文涛| 编辑 收藏

富客户端肯定是今后web应用的发展方向了。
实现的技术也越来越多。flex,ajax.....
哪种的前景更好些呢?
flex的优点是代码编写比较简单,用相比ajax更少的代码就可以生成比较丰富的功能。和更佳的用户体验。
而且绝对跨平台,跨浏览器。毕竟运行环境下有flash播放器就可以了。不受script各浏览器标准不同的约束,
尽情写代码,不用对兼容性考虑太多。

本来内心中对ajax的前景更看好,可是写到这里,却突然发现,说不出ajax的更多优点了。
不过毕竟script跟html关系更密切。短时间内,html依然会是页面表示的基础。没有html如何SEO,虽然adobe已经
根google协议在文字,媒体检索中支持flash,但真正实现不知何年何月。
flex的最大瓶颈就应该是对html操作不够了吧。

正是跟其他语言之间的区别一样,各有所长,未来富客户端的领域更多的UI技术相信也会如此吧。
posted @ 2008-07-08 12:08 刘文涛| 编辑 收藏

 

随着一些相关资料对as3.0的介绍,有人可能认为它是另一种语言.它的根本改变在哪呢,它是什么呢?现在我们要放松一点.如果你熟知as2.0,那么它的变化并不是很大,甚至增加了一些命令你可以使用。

从我们第一眼看as3.0,它并不是一个全新的语言,它的架构要好于AS2.0,你将从FLASH8开始发现这些.任何东西都有自已的类和整洁的子类.类的继承关系看起来很复杂,但是它却是很容易理解。

主要的改变:

1、不在有_global范围了,但是你可以通过在预先的public,private和internal里,使用”namespace”来创建你自已的命名。

2、int/uint. 新的数据类型来描述非浮点数,这项增加可以使flash与其它程序语言同步,并且解决一些使用java和AMF/Flash Remoting令人头痛的问题。

3、你不能在在时间线上使用命令play()或stop().MovieClip不在是在global的范围内了,你必须通过flash.display.MovieClip来使用它的属性。

4、正规标准表达式—-快速搜索操作字符串。

5、新的更简单的委派(delegate)。

6、DOM3 事件模型——个新的,但是不被熟知的生成和操作事件信息的方法。

7、显示API列表——图像根据新的或更多的逻辑基于类别如Sprites精灵和Shapes形体被细分。

8、在也不需要指定depth深度数值给对象. Depth管理类现在会自动控制(基于API列表)并内建于flash player内.新的方法提供了对对象z-order也就是Z轴的操作。

9、Final/protected关键词.—防止你的类或函数被覆写。

10、新的简单的XML元素及属性使用E4X。

11、ArgumentError 类.——使用此类可以避免函数调用了不相符合的参数时所产生的错误。

12、Package 关键诩—-如果你不知道pagckage是什么,不要担心,当你在做大的项目时你会慢慢喜欢上它。

13、被用在数据输入输出接口的ByteArray提供方法和属性来优化读,写,和二进制数据。

低级别—异常

异常处理对于FLASH开发人员来说路还较长,如果一个数值超出新的int/unit数据类型,一个错误就会被显示出来.有些类似于JAVA.你必须要想办法解决这些问题,否则FLASH程序可能就会垮台.如果一些东西在AS1和AS2中失效,flash player可能会很友好的忽略掉,在FLASH8中,你可能已经通过使用file upload看的了新的究错能力,它需要一系列事件来显示上载进程和缓存错.使用AS3,这些是工作在一个低级别的状态。

异常可能会发生几个地方,例如:使用As3.0,你需要查看你的内存的最近使用状况,MemoryError是一个新的异常,当内存寻址失败时,它就会通过AVM2虚拟机显示错识.其它的异常为EOFError,illegalOperatinError,IOError,ScriptTimeoutError和StackOverflowError。

想一下上面这些内容,之前许多是JAVA等其它语言专用的,你可以通过StringBuilder类看到,它来自java类StringBuffer可以允许我们很容易的操作字符.终上所述,我必须说新的AS3类的结构看起来非常好.有不同背景的程序员看到FLASH就会说我知道它是怎么做的,我认为我们可以说actionscript已经过去了,它的童年过去了,青年时代刚刚到来。

新的命令

可能有更多的新命令,这里面例出一些发现到的。

Sound(声音)

leftPeak / rightPeak Property——当前声音的右声道振幅,从0到1

isBuffering : Boolean [read-only]——返回外缓冲MP3的状态

soundBufferTime : uint——声音在流式播放前缓冲的秒数

System(系统)

vmVersion : String [read-only]——当前安装的ActionScript虚拟机的版本

totalMemory : uint [read-only]——报告当前使用的内存数量:System.html

Debugging(调试)

getClassByName(name:String):Class——返回指定名称类对象的引用

describeType(value:Object):XML——xml对象产物,用来描述actionscript对象参数的方法。

ps:看来As3.0并没有想象中的变化那么大,不过先是FLASH8,接着FLEX2,AS3.0,macroemdia的脚步是越走越快。

posted @ 2008-07-08 08:43 刘文涛| 编辑 收藏