Bind E4X + JSON + AJAX
最近的IT,新技术是一茬接一茬,单这几个名次,就够完的了:
E4X:EcmaScript for XML,在javascript语言中直接支持对XML的处理,包括内置的XML数据类型,XML语法支持,XML从此可以成为javascript中的 一等公民。个人的感觉是,象原来的XSLT技术,在E4X中或许就很简单了,不再需要一个新的语法,javascript已经够强大了。XML的数据表示 能力又足够的强大,E4X作为一种新的脚本语言,力量不可忽视。
JSON:Javascript Object Notation,一个基于Javscript语言的对象定义子集,采用javascript的简介的语法,提供了类似于XML的数据描述能力。JSON 的优点就是既具备XML的强大描述能力(当然只是XML的一个子集),但又提供了非常良好的javascript处理能力(相比使用Javascript 来处理XML,要简单很多),而且,因为非常简单,在java等语言中进行支持也非常的简单。不够我个人认为,把JSON作为XML的一种 javscript映射机制,可能更为有用。在java等语言端,直接处理XML使得这个世界更为简单。或许在E4X环境中,JSON的使用相对有限很 多。
AJAX:Asynchronized Javascript + CSS + HTML + XML and etc. 这个技术其实目前已经在google的一些项目中获得了应用,不再像传统的WEB应用那样,需要进行页面的刷新就可以实现本地的交互,给用户的总体感觉有 很大的提高。像Bindows这样的项目更是把这样的技术发挥到了极致,WEB应用就像传统的VB应用似的,无论是从用户的角度上来看,还是从变成人员的 角度上来看。都采用相同的用户界面,相似的组件模型,相似的事件驱动机制。
实际上,现在又越来越多的基于javascript的复杂应 用,前一段时间,我参加了oracle的BPEL培训,很神奇的是,oracle的bpel编 辑器,虽然是一个eclipse的插件,但居然是使用IE+javascript开发的,(不知道java的部分代码有多少,反正核心是基于 javascript的,run在IE上)。可惜的是,程序的鲁棒性还是一般,总是会有莫名其妙的错误。哎,不管怎么样,这样的一种开发方式,确是让人惊 诧的。
像DHTML这样的复杂应用,确实是让人又爱又恨的,爱的是,这种软件最为Open,想怎么改,就怎么改,DIYS,给了技术人员 最大的发挥。恨的是,复 杂性确实很高啊,虽然每个地方都很简单,但放在一起就复杂了。而像Java这样的东东,虽然每一个地方相对要复杂一些,但构造大的软件却有很大的优势,尤 其是强类型带来的整个软件的较强的吻合,不是很容易拆拆卸卸,但也不太容易出错。
或许,我们需要在Java及JavaScript这样的语言中达到一定的平衡,把应该让Java来干的事情让Java来干,把适合于Javascript的任务交给js来干,广泛的使用XML作为复杂的数据表示语言,来作为Java/Javascript世界的数据总线。
比方说:
1、Java提供核心的组件,服务,以及提供一个支持的框架,作为整个应用的底层框架支持,和核心逻辑处理。
2、Javascript用来开发基于组件的应用,充分利用javascript的动态处理能力以及带来的简洁性。
3、使用XML来作为描述性的基础,把抽象好的处理逻辑数据化。包括用户界面、交换的数据等。
4、 使用XML Schema来作为XML的强类型语言,用于约束、验证XML数据,在Java端,采用JAXB2技术来进行XML-Java的绑定,以支持Java对 XML的自然处理(强类型处理),在js层,采用E4X技术来直接处理XML。或者也建立类似的把XML直接映射到JS对象的机制。
5、通过一些机制来提高js代码的鲁棒性和可重构能力。包括单元测试、覆盖测试(利用工具自动)、可重构的支持框架等。这一块,我的考虑不是很多。
6、我原来构想的JS2JS(JavaSource 2 Javascript)应该是一个很好的想法,就是把java代码翻译成为javascript,这样,可以充分的利用java的建模优势,来开发大部分的的javascript代码,利用java的强类型机制。
或许,更重要的是,我们需要设计一个杀手级的应用,来演示这种javascript与java结合的应用开发模式,发现更多的问题,然后再提升到一个更高的台阶。
0 Comments:
张贴评论
<< Home