刚刚为我公司内部使用了一个新的网站项目。整个网站并不复杂,但需要大量的实时互动。基本上,它是一个交互式时间线表,我们可以自由地拖放每个元素来移动和调整它们的大小。
起初我想利用这个机会学习Python + Django(我花了很多时间)然后我读了很多人提到Rails更适合创建丰富的交互式网站。
所以,对于一个有很多拖累的网站而言像这样放弃互动,Rails真的是更好的选择吗?与Django + jQuery相比,Rails内置的ajax更容易使用吗? Rails的内置ajax有多灵活和可定制?我想通过这种方式学习RoR和Python一样多。
答案 0 :(得分:6)
我认为AJAX功能不会定义您喜欢哪个框架。
我无法回答你关于ajax的大部分问题,但仍然认为这篇文章对你有用:它突出了ROR和django之间的巨大差异 - 主要是RoR使用魔法,django没有。
我更喜欢django。其他人可能更喜欢RoR,原因与我不相同。
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都很好。试一试,看看你更喜欢哪一个。