论坛首页 Web前端技术论坛

REST+RIA方案

浏览 34881 次
锁定老帖子 主题:REST+RIA方案
该帖已经被评为良好帖
作者 正文
   发表时间:2007-07-23  
treenode 写道
从技术上讲,REST和RIA没有什么必然的联系,一个在服务端,一个在客户端。REST并没有要求客户端一定是什么,RIA也不是只能访问REST服务。

你确信REST只跟服务器有关系吗?

请把基础概念好好补一补吧。没有恶意,不要暴跳如雷。
0 请登录后投票
   发表时间:2007-07-23  
weiqingfei 写道


你这样理解就有点儿不妥了,服务器端提供内容的颗粒度可大可小,大到整个页面,小到单纯的数据。
如果数据不需要更新,完全没必要去请求服务器。
可以完全按照你用flash来呈现的做法,使用js来呈现页面。

附加的一个好处是不局限于post,get,还可以使用其它方法。

当然缺点也很明显,用js来呈现页面,终归不如flash来的方便。



你的意思是说,服务器不必提供HTML片段,要更新的界面完全由js来呈现吗?
这样做的问题不仅是不方便,这样美工没法替你设计界面,必须要程序员把界面组件一个一个new出来才行了。

0 请登录后投票
   发表时间:2007-07-23  
dlee 写道
为什么不可行?Ajax应用为什么不可以把状态保存在客户端呢?你了解Ajax吗?


前面已经说过了,我相信一定可以做到,但是好不好则需要实例来说话。



dlee 写道

你确信REST只跟服务器有关系吗?

请把基础概念好好补一补吧。没有恶意,不要暴跳如雷。



REST关注的是服务器提供何种形式的资源接口。我这样说可以吗?我只说过REST是在服务端,可不记得自己说过REST跟别的什么都没关系哦。
抓人语言里的把柄是很容易的,不过没什么意思。如果你乐意费心帮我看看这个例子里REST服务设计上有没有什么问题,我会更加欢迎的。
0 请登录后投票
   发表时间:2007-07-23  
treenode 写道
weiqingfei 写道


你这样理解就有点儿不妥了,服务器端提供内容的颗粒度可大可小,大到整个页面,小到单纯的数据。
如果数据不需要更新,完全没必要去请求服务器。
可以完全按照你用flash来呈现的做法,使用js来呈现页面。

附加的一个好处是不局限于post,get,还可以使用其它方法。

当然缺点也很明显,用js来呈现页面,终归不如flash来的方便。



你的意思是说,服务器不必提供HTML片段,要更新的界面完全由js来呈现吗?
这样做的问题不仅是不方便,这样美工没法替你设计界面,必须要程序员把界面组件一个一个new出来才行了。


我说过了,你完全可以按照flash的呈现方法来呈现,
你的flash里的所有组件,美工是怎么设计的?你是怎么来控制显示,隐藏的??
js一样可以做到。
0 请登录后投票
   发表时间:2007-07-23  
weiqingfei 写道

我说过了,你完全可以按照flash的呈现方法来呈现,
你的flash里的所有组件,美工是怎么设计的?你是怎么来控制显示,隐藏的??
js一样可以做到。



Flash把所有界面元素都包含在一个swf文件里,需要显示特定组件的时候一般是这几种办法:(1)将独立的部分单独做成组件;(2)使用state;(3)使用ViewStack。因为所有界面是一次性下载完成的,所以以后不必再请求服务器。

而一般网页应用要这么做的话,等于需要先放一个大的<div display="none">,然后需要的时候再显示出来。这种方式在设计上是很不方便的,页面比较大的话找起来也麻烦。一般的页面设计者大多倾向于使用独立的小页面。这样做的代价当然就是需要经常向服务器发送请求了。这和Flash的工作方式是完全不同的。
0 请登录后投票
   发表时间:2007-07-23  
treenode 写道
如果你乐意费心帮我看看这个例子里REST服务设计上有没有什么问题,我会更加欢迎的。

你对REST的概念理解还需要加强。这个例子也是一个很好的例子。不过你的打击面太大,同时攻击非REST应用和Ajax,不是很明智。
以不同的方式重写depot应用是一个很好的练习。你少安毋躁,我在等ActiveResource的成熟。过一段时间,我会基于REST+ActiveResource+Ajax来重写这个depot应用。
0 请登录后投票
   发表时间:2007-07-23  
to treenode:
另外你的代码量统计似乎没有包括Flex相关的代码量。我不是很了解Flex,请教一下,做Flex应用,是不是还需要写一些ActionScript的代码呢?

Ajax+Rails:若JavaScript代码全部使用RJS自动生成,则不需要计算JavaScript的代码量。若通过其他方式手写JavaScript代码,则这部分代码量需要计算在内。
Flex+Rails:若ActionScript代码全部自动生成,则不需要计算ActionScript的代码量。若不能全部自动生成,则需要计算这部分代码量。
0 请登录后投票
   发表时间:2007-07-23  
dlee 写道

不过你的打击面太大,同时攻击非REST应用和Ajax,不是很明智。




我写这篇文章就是为了做一个技术上的比较。写完以后我还反复看了几遍,为的就是小心不要带上任何有歧视性的字眼。
如果你说我的目的是为了攻击什么,那我实在无法认同。

对ActiveResource,我当然也有兴趣看看它将来会发展成什么样,我们一起拭目以待吧。

0 请登录后投票
   发表时间:2007-07-23  
dlee 写道
to treenode:
另外你的代码量统计似乎没有包括Flex相关的代码量。我不是很了解Flex,请教一下,做Flex应用,是不是还需要写一些ActionScript的代码呢?

Ajax+Rails:若JavaScript代码全部使用RJS自动生成,则不需要计算JavaScript的代码量。若通过其他方式手写JavaScript代码,则这部分代码量需要计算在内。
Flex+Rails:若ActionScript代码全部自动生成,则不需要计算ActionScript的代码量。若不能全部自动生成,则需要计算这部分代码量。



Flex的代码已经统计在内了。


方案二:
Controllers(1个文件,37行)
Models(3个文件,39行)
Views(3个文件,15行)             <=================以上是服务器部分的代码
MXMLs(3个文件,278行)
ActionScripts(4个文件,142行)
CSS(1个文件,76行)               <=================以上是Flex代码
--------------------------------------------
共计15个文件,587行

代码统计部分没有包括任何js在内,因为这两种方案都不需要自己写Javascript。
0 请登录后投票
   发表时间:2007-07-23  
treenode 写道
weiqingfei 写道

我说过了,你完全可以按照flash的呈现方法来呈现,
你的flash里的所有组件,美工是怎么设计的?你是怎么来控制显示,隐藏的??
js一样可以做到。



Flash把所有界面元素都包含在一个swf文件里,需要显示特定组件的时候一般是这几种办法:(1)将独立的部分单独做成组件;(2)使用state;(3)使用ViewStack。因为所有界面是一次性下载完成的,所以以后不必再请求服务器。

而一般网页应用要这么做的话,等于需要先放一个大的<div display="none">,然后需要的时候再显示出来。这种方式在设计上是很不方便的,页面比较大的话找起来也麻烦。一般的页面设计者大多倾向于使用独立的小页面。这样做的代价当然就是需要经常向服务器发送请求了。这和Flash的工作方式是完全不同的。


我对flash不熟悉,但是我记得flash也可以实现lazy load的方式,也就是把组件分离,只有在需要的时候,才去请求服务器,没有必要一次性把所有的组件都load进来。

普通页面,也可以把所有组件都放在一个页面上,当然设计的时候如何摆放,那是设计者的事情,为了设计方便,他完全可以顺序向下摆放,在显示这些组件的时候,会对它的位置进行控制的。

我实在看不出,设计者对这个有什么可以抱怨的。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics