Javascript与Flash/Flex/SilverLight


     今在园子里看到了大家对Javascript和Flash/Flex/SilverLight的讨论,也想凑凑热闹,也对这些技术谈谈自己的看法。

     首先我想说明的是,技术没有好坏强弱,只有适合与不适合,技术只是工具,开发人员只是在针对需求的时候,选择认为合适的工具来进行相应开发。大家都知道,现在流行RIA(Rich Internet Application),注重用户体验嘛,大家都希望能用技术达到一些很Cool的UI表现效果,可以吸引更多的用户。所以有更多的公司、组织或个人在进行RIA方面的研究,想要做到富客户端,就像当初的C/S模型的用户体验一样。因为人类认识事物是从很直观的形象表现来认识的,而文字只是某种事物的抽象,是用来描述这个事物的。所以当人们通过文字符号来认识事物的时候,首先看到的只是一个描述,然后再来根据这个描述来找到对应的事物,这样就是跨了一个层,一个描述层。而如果直接用类似图形的这种形象地方式来表现某个事物,那就更直观一些,所以web方面,基于直观、形象、方便的RIA让用户更易接受。

     技术方面,好像Flash/Flex/SilverLight天生就是为了RIA存在的,要做一个很cool的UI表现,开发起来很容易,因为是可视化的编辑环境,设计更方便。而JS是纯代码的,得由开发人员一条条地去写,开发效率完全不是一个档次。运行的时候,Flash/Flex/SilverLight是编译好的,直接通过操作系统处理,而JS是解释的,得跨一个浏览器这个层,所以效率相对低一些。但是现在Internet是基于HTTP请求和HTML表现的形式,而要对HTML的抽象层DOM进行很好的控制,JS是最好的选择,JS和CSS被称为web开发的形为和表现,而HTML则是一个架子。而在DOM的操作上,Flash/Flex/SilverLight远远不如JS,必竟JS也是这种标准化的一部分(JS基于ECMAScript标准)。

     所以,如果我们可以对JS进行优化,那么其使用价值就不会低于Flash/Flex/SilverLight,这里主要就是开发效率和运行时的优化。在开发效率上,现在也逐一出现了一些JS开发框架(JQuery、Prototype、EXT等),使JS的开发效率上较之前有很大提高,而且才刚起步,后面还有很长的路。而运行效率上,可以通过硬件、JS引擎等手段来优化,这也只是时间问题。所以,究竟JS能走多远,现在还真不好说,我们现在看到的就是JS确实在不断进步,不断地给我们带来惊喜。

     作为技术人员,个人是不喜欢这种商业化的竞争,但话又说回来,我们现在是一个商业化的社会,也是一个大环境,只能在注重发展技术和注重商业效益之间去寻一个比来达到最优。而像Javascript与Flash/Flex/SilverLight之间也许也是有竞争,但这种竞争下也有两个小环境的竞争,一个是Flash、Flex、SilverLight之间的竞争,还有一个就是Javascript各种框架之间的竞争,而且JS框架这方面目前还有很多潜力可以挖掘。这两种小环境下的竞争相对于Javascript与Flash/Flex/SilverLight之间的大环境竞争将会更激烈!
posted @ 2008-09-09 13:12  随机  阅读(4166)  评论(17编辑  收藏  举报