与Django相比,Rails的交互式网站更好吗?

时间:2011-01-28 14:50:10

标签: ruby-on-rails django

刚刚为我公司内部使用了一个新的网站项目。整个网站并不复杂,但需要大量的实时互动。基本上,它是一个交互式时间线表,我们可以自由地拖放每个元素来移动和调整它们的大小。

起初我想利用这个机会学习Python + Django(我花了很多时间)然后我读了很多人提到Rails更适合创建丰富的交互式网站。

所以,对于一个有很多拖累的网站而言像这样放弃互动,Rails真的是更好的选择吗?与Django + jQuery相比,Rails内置的ajax更容易使用吗? Rails的内置ajax有多灵活和可定制?我想通过这种方式学习RoR和Python一样多。

6 个答案:

答案 0 :(得分:6)

我认为AJAX功能不会定义您喜欢哪个框架。

我无法回答你关于ajax的大部分问题,但仍然认为这篇文章对你有用:它突出了ROR和django之间的巨大差异 - 主要是RoR使用魔法,django没有。

我更喜欢django。其他人可能更喜欢RoR,原因与我不相同。

What's wrong with "magic"?

  

Rails的开发人员认为   这种“神奇”是好事   因为它使它更容易   快点得到一些工作,并且   不会给你带来很多细节   除非你想进入并开始   压倒一切。

     

Django的开发人员认为   这种“魔法”是坏事   事情,因为并没有真正拯救所有   这么多时间(一些进口   陈述并不是什么大不了的事   宏伟的计划),并有   隐藏真实情况的效果   在,使得更难以弄清楚如何   覆盖东西,或更难调试   如果出现问题。

     

这两者当然都是有效的   要采取的立场,一般来说   似乎人们自然而然   倾向于一个或另一个;那些   谁喜欢“神奇”聚集在一起   尝试的Rails或框架   模仿它,那些不聚集的人   围绕Django或尝试的框架   模仿它(并在更广泛的范围内)   感觉,这些立场有点   Ruby和Python的陈规定型观念   开发商; Ruby开发人员倾向于   喜欢用一种方式做事,Python   开发人员倾向于喜欢做事   另一种方式)。

所以我认为无论开箱即用ajax支持,都会为你点击。

答案 1 :(得分:5)

作为主要使用Rails的人,我会说每个框架花一天时间,按照“入门”截屏或教程,或拿起一本书。 (对于rails,我建议使用Beginning Rails 3)。然后,继续选择你觉得更舒服的那个。

一个惊人的资源轨道是Railscasts。 Railscasts几乎一手将我从PHP转换为ROR。我不知道Django是否有类似数量的优质截屏视频。

所有框架都非常关注等式的服务器端。现在,Rails有很多东西可以帮助你编写视图(你的拖放)很好,比如HAML(一种奇妙的模板语言)......虽然我不知道发布链接但我确定Django有类似的帮助者。值得注意的是,Django和Rails都可以使用jQuery或任何其他javascript框架。

但是,最后,仅仅是因为无国界的网络性质,你的客户端模板和javascript之间将存在一定程度的独立性,以及从服务器端提供什么服务。

你应该关注的真正问题是:你想成为一个jQuery忍者,或者你想扩大一个档次并专注于Javascript本身,也许使用像MooTools或Prototype这样的工具套件。你的拖放工作是客户端的,所以你必须做出最艰难的决定。

祝你好运!

答案 2 :(得分:3)

我过去常担心这样的事情并且会一直尝试新的框架,因为人们会说这比我使用的最后一个框架有了很大的改进,直到我意识到我什么也没做。现在我只选一个并坚持下去。事实上,我比其他任何人都更了解它,这意味着我更有效率,即使其他框架可能包含不错的小技巧和快捷方式,并且因为我知道它更好,我可以更快地调试问题。

基本上我想说的是,几乎每个流行的Web框架都可以完成您想要的所有工作。有些人比其他人好,但真正重要的是你至少成为其中一个人的专家。能够涉足很多东西是没有用的,你真的需要知道一个内部和外部。将一些代码提交给项目有助于此过程。

答案 3 :(得分:2)

主要取决于您喜欢哪种编程语言,最适合使用。有些人喜欢Ruby的灵活语法,比如Python的清洁度。还需要考虑生产环境(即将要托管的操作系统)。

答案 4 :(得分:2)

Django不做交互式Web应用程序,它对整个“前端”部分是不可知的,这是在Javascript中完成的,几乎没有Django的支持(除了从AJAX调用传输数据)。

因此,如果你想使用Django,你不仅要学习Python,还要学习大量的Javascript。

我喜欢这个解决方案,因为手写的Javascript比任何这些生成工具都要清晰得多,而且现在有很多库可以轻松编写高级Javascript GUI,查看Jquery UI或ExtJS。 / p>

从那里,服务器端将只是AJAX调用(de)序列化JSON中的数据,没有别的。

答案 5 :(得分:1)

Rails和Django都很好。试一试,看看你更喜欢哪一个。