【IT168 技术分析】尽管企业可以从RIA受益,但采用新技术总是有一定风险,首要的问题是如何选择正确的解决方案,因为有太多的选择,没有一个清晰的评判标准,需求也非常复杂,很难做出正确的抉择。
要生产力还是要可控性?
RIA通常被分为两种类型:以客户端为中心的RIA和以服务器为中心的RIA。以客户端为中心的架构就象手动挡汽车一样,具有更多的控制,而以服务器为中心的框架就象自动挡汽车一样,开起来很容易,因此它可以提高开发人员的生产力。对于开发人员而言,采用以服务器为中心的架构时,Ajax技术对于他们是完全透明的。那么究竟应该选择哪种类型呢?这的确是个头痛的问题!是要生产力还是要可控性?是否可以同时享受两类架构的优点?现在终于有了答案,那就是Direct RIA。
Direct RIA=客户端+服务器的融合方法
Direct RIA开启了一个革命性的方法,它融合了客户端+服务器架构,同时平衡了生产力和可控性,编程时需要完整的定制和更多的响应。
Direct RIA架构概览
Direct RIA是一个以服务器为中心加上可选的客户端编程的解决方案,如果你仔细分析下面的插图,你会发现以服务器为中心的编程模型允许开发人员使用纯服务端代码构建Web应用程序,服务端引擎会自动生成需要的HTML和JavaScript代码,客户端引擎与DOM树交互刷新内容。此外,浏览器和服务端是通过客户端和服务端的Ajax引擎自动同步的,因此开发人员可以集中精力实现应用程序逻辑,不用将过多的精力放在复杂的Ajax技术上。
图 1 Direct RIA架构
但纯以服务器为中心的编程模型有一个缺点是开发人员不能完全控制用户界面的表现形式,为了克服这个问题,Direct RIA开启了一个可选的客户端编程模型,允许开发人员编写客户端代码直接控制用户界面。