representational state transfer 首篇

representational state transfer (REST)
为什么要研究REST:
web服务标准受到复杂性的威胁,REST似乎可以解决问题。 Web 服务的核心抽象是远程过程调用。 REST 的核心抽象是远程资源而不是远程过程调用。 REST是Web协议HTTP、URI背后的设计原理,只是直到2000年才被 Roy Fielding在博士论文中正式命名提出来。 Fielding 断言,使用且符合 REST 设计约束的 Web 上部署的组件可以充分利用 Web 的有用特性。他还警告说,违背 REST 准则的 Web 组件都将无法利用这些优点。
但是在Ajax出现以前,浏览器的功能相对比较弱,只能实现一些瘦客户端的功能,因此,Web应用的开发者们只能把功能的实现尽量向服务器端移,这样产生了现在被广泛使用的WebMVC架构模式。这样做,其实有很多地方已经违反了REST的架构约束,但在当时是没有办法的Ajax出现后,浏览器的能力大大增强了,这时依靠Ajax的能力真的有可能完全遵从REST的架构约束了,这就需要把许多功能前移,建造更强大的客户端了。这也许就是为什么REST会随着Ajax的出现而渐渐流行开来的原因,当然,Rails DHH的大力推广也有功不可没。

因此,基于以上原因,我感觉我们Web开发人员被推到了需要选择的十字路口,是留守传统模式,还是开始实践新的模式?传统模式已经有了这么多年的投入,各方面都已经比较成熟了,开发效率已经到了一个比较高的水平;而BC/S模式给人的感觉是 更自然,更清晰一些,但在上面积累的开发经验还不够,需要大胆地开疆拓域。 事,REST对客户端有更强的能力要求,REST的思想在当时也不为人知。
为什么是REST on rails:
服务端准备采用能支持REST的几种框架:Rails、Restlet、Django
因为成熟度与开发效率,先从Rails开始,但要裁剪掉它的View层。
至于工具嘛,推荐两本书吧:《RESTful Web Services》和《Ajax设计模式》
前一本相当于REST的圣经,同时也讲了很多Rails的实践;
后一本是Ajax的百科全书,讲了多达70种的Ajax模式。
运行的时候主要是客户端来控制程序的流程,只要运用Ajax那些模式就可以了。
起步要做的还是学习加实践啊!先把界面做出来吧,遵从敏捷原则,让它尽快能跑起来,
然后再慢慢重构。

你可能感兴趣的:(REST,职场,休闲)