CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

REST+RIA方案

作者: ,  出处:JavaEye, 责任编辑: 叶江, 
2007-07-30 13:19
  一直很想体会一下使用REST+RIA这种组合开发Web应用效果究竟如何,乘着这几天有空简单试验了一把

  我选择的案例很简单,就是《应用Rails进行敏捷开发》一书中的depot应用。为了简化问题,我只使用了其中的store控制器部分,并将这一部分改写成REST+RIA的方式。具体地说,就是:

  •   1、重写一个控制器(我把它称为RestStore),它的功能和Store控制器类似,但只提供RESTful风格的接口;
  •   2、表示层部分用Flex重写。该层与RestStore控制器通信以获取必要的后台数据;

  为了比较的目的,以下将《应用Rails进行敏捷开发》所使用的“经典”方法(Rails作为后台,rhtml作为表现层)称为方案一,将我所试验的方法(RESTful Rails作为后台,Flex作表现层)称为方案二。除了结构上的差异,这两个方案所实现的功能和界面基本上是完全相同的。

  代码量比较

  方案一:

  Controllers(1个文件,57行)
  Helpers(1个文件,9行)
  Models(5个文件,85行)
  Views(6个文件,93行)
  CSS(1个文件,227行)
  ------------------------------------------
  共计14个文件,471行

  方案二:

  Controllers(1个文件,37行)
  Models(3个文件,39行)
  Views(3个文件,15行)
  MXMLs(3个文件,278行)
  ActionScripts(4个文件,142行)
  CSS(1个文件,76行)
  --------------------------------------------
  共计15个文件,587行

  方案二比方案一要大概多出25%的代码,这主要是因为前后台采用了不同的技术,所以必须写一些用于转换数据格式的方法。

  需要说明的是,由于没有详细统计注释和空行,因此这个数字并不十分精确,只能作为一个数量级上的参考。但是代码量的分布上还是能看出一些问题来的。方案二比起方案一而言,服务器部分得到了很大的简化,原因在于(1)视图部分只提供XML数据,不再负责处理界面;(2)购物车移到客户端来实现,后台不再需要Cart和相关的类。

  此外,方案一的CSS文件相当长,而方案二的CSS就要小得多。这是因为方案一的CSS也包括许多用于页面布局的部分,而在Flex中,布局是用布局容器来实现的,CSS只负责组件样式。这就使得Flex中MXML比较大而CSS可以稍小一些。(我个人的看法是使用布局容器进行整体布局比用CSS更加合理)

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i