我是Django和Rails的新手。我正在考虑开发一个Web 2.0风格的应用程序,并计划公开Restful服务,我的UI层将调用它来进行CRUD操作(类似于ADO.NET数据服务)
我还没有在平台上做出决定,并正在寻找一些关于哪一方可以开发的建议?
我目前正在考虑Ruby on Rails或Django。
使用DJango / Python的好处是我可以在将来通过一些代码更改转移到谷歌AppEngine,但在不利方面,我听说DJango不是RESTful。
我也是Ruby和Python的新手。那么,您对使用哪个平台有什么建议?
答案 0 :(得分:0)
Django适用于REST应用程序。 Rails声称提供了一些使REST更容易的功能,但它在很大程度上是不准确的 - 像人类可读的URI这样的东西对REST来说并不重要。 Rails为你自动生成POST / GET / DELETE / PUT的东西,但是在Django中也很容易做到 - 而且它与REST没什么关系,它只是正确的HTTP使用。
REST是一种通用类型的体系结构,它具有非常明确的约束,但是没有一种单一的方法来执行REST应用程序。 REST,Roy Fielding的架构师就一些常见的误解进行了很好的讨论:http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
我推荐Python和Django,但不是因为REST相关的原因。 (更好的文档,与Django更健全的API,更少讨厌的猴子修补和黑魔法,更少的耦合等)
答案 1 :(得分:0)
如果你想将视图和控制器与REST结合,那么你是对的,django不是RESTful,因为使用django你必须(de)序列化django对象并使用你最喜欢的方法在前端操作它们javascript框架。说,如果你唯一关心的是发送和接收数据,而不关心如何做,那么django应该足够你,因为你已经有了它的心。
答案 2 :(得分:0)
RESTful接口用于构建分布式应用程序。您的UI层和服务层是否真的需要在物理上分开?对我来说似乎有点过分了。