客户端减肥记——Ajax带来的困惑

  在当前的Web开发技术中,Ajax无疑是非常炙手可热的 ,虽然用的都是老的东西,老的技术,但通过新的应用,新的包装,就好比一个原本并不出众的姑娘穿上了一套美丽的婚纱,散发出天使般的迷人魅力,愈发地风情万种起来,引得更多人的观注,也给用户带来一种全新的和美妙的视觉体验。

  从传统Web应用的所谓“瘦”客户端到“胖”客户端,是Web开发模式的一次转变。传统的“瘦”客服端,更加关注于后台业务逻辑的实现,显示层只是实现基本的数据展现,不注重用户体验,交互性不强,并且每一次请求基本上都要触发一次浏览器的刷新。而“胖”客服端(Rich Client,也叫富客户端),其出色的页面效果,良好的交互性及数据的异步传输,带来的可不止是惊奇和赞叹了。

  然而,在为Ajax喝彩的同时,
在开发的实践中,Ajax的流行却给我们带来了一个困惑:由此带来JavaScript之类的脚本代码急剧增长,似乎客户端越来越“胖”了。之前JavaScript脚本一般只用来做简单的数据校验和信息提示,现在它的责任可就重大起来了。随便哪个号称Web2.0的网站,基本上都要充斥着非常多的脚本代码,不管是嵌到页面上的,还是独立成文件了。页面效果是好了,交互性是好了,但这些代码的大量增加,却给调试和维护带来巨大的工作量,尤其是在目前Ajax开发百花齐放,缺少规范的情况之下。

       那么,如何给越来越“胖”的客户端“减肥”呢?我想了许多。

       首先,我觉得MVC(模型、视图、控制器)中的V,也即视图层,也可以考虑再细分几层。这又是一种分层思想体现。比如,可以分两层:“页面层”和“显示逻辑层”,页面可以是一些静态HTML元素层;可以把所有JavaScript放到显示逻辑层,获取数据或实现一些页面特效。又比如,可以分三层:内容层、显示逻辑层和页面显示层等等。当然,我所说的也许不合理,但只是一个猜想和探索。

       其次,时下Ajax的框架开发也是方兴未艾,如火如荼,采取一个好的Ajax框架进行开发,也可以达到非常好的“减肥”效果。很明显的例子是DWR(直接远程调用)框架,它虽然
在实现客户端的显示效果方面功能略显不足 ,但却可以通过JavaScript方便地访问服务端的Java类,一些应用逻辑还是封装在Java中来得好用些。个人认为,Ajax框架并非越多越好,现如今就是一个有些混乱的局面,当然也是必经的一个阶段。什么时候Ajax框架的战国时代的终结之日,也正是Ajax开发更为便利和更为规范之时。

  再次,客户端也要讲究点设计模式,Ajax开发也一样。在这里不是为了凑上所谓设计模式的热闹。经典的设计模式,是一种被实践证明而行之有效的成熟的解决方案,运用它,除可以带来更高的开发效率之外,也能更好地管理和规范烦人的大量代码。传统的MVC模式在这里仍然有用武之地,此外,如Observer模式、Facade等模式在客户端UI中都能得到良好的运用,带来的好处也是显而易见的。

  此小文仅为个人的一段随意的感言,一家之言,如能达到抛砖引玉之效,便是最大的满足了——是为之记。
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值