设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

Rails和Django的深度技术对比

2015-1-19 14:51| 发布者: joejoe0332| 查看: 6703| 评论: 0|原作者: Ev4n, LeoXu, chxm1990, BruceLinxu, edwardlu_|来自: oschina

摘要: 6个月以前我在大学用Ruby on Rails做 了一个项目而且一直做到现在。我做地第一件事就是仔细地学习了这两个框架并对它们进行了比较,但是我记得当时我很泄气的。当我寻找这些问题(比如说:”对 于这两者来说,数据库 ...


用户授权

  不得不说当我知道RoR(Ruby on Rails)没有打包任何形式的用户授权时多少有点震惊。我想不出任何不需要授权和用户管理的项目。在这方面最受欢迎的gem是devise,毫无疑问也是Rails上最受欢迎的,在Github上有Rails一半的得分。

  尽管Django从最开始就将授权框架打包进来,但直到一年之前这种授权方式的灵活性才有所改善,就是当版本1.5发布并带来可配置的用户模型(user model)。之前,你会被强制要求使用Django的方式定义用户,而不能任意更改字段或者添加字段(field)。如今这不再是问题,你可以用自己定义的用户模型代替原有模型


第三方库

  这里没什么好说的。这篇文章里已经提到了很多二者可使用的第三方库,而且都拥有太多的app。Django Packages是个非常好的网站,可以用来搜索Django的App。不过还未发现Rails有类似的网站。


社区

  虽然我没有更具体的数据来证明,但我相当确定Rails的社区更大一些。在Github上RoR拥有Django两倍的得分。在Stackoverflow上标记为Rails的问题也有两倍之多。而且似乎RoR比Django有更多的工作(在Stackoverflow职业中24158)。Rails很庞大而且有非常多迷人的资源来供学习,比如Rails CastsRails for Zombies。Django拥有Getting Started with Django但是没有可比性。我知道Django使用The Django Book,但是已经落后若干年了。不要以为我说错了,尽管有很多Django团体而且如果你遇到问题,你很容易通过google找到答案,但Django就是没有Rails庞大。


结论

  Ruby on Rails和Django在网络开发方面都是非常出色的框架。在开发模块化的简洁的代码,在减少开发时间。我已经离不开ORM框架,模板引擎和会话管理系统。那么问题是我如何选择呢?


  选择任何一个都不会错。我的建议通常就是两者都使用并选出你最合适的。最终的决定会取决于你倾向于哪种语言或者哪种原则:惯例优先原则(convention-over-configuration,CoC)还是显式优先隐式原则(explicit is better than implicit)。使用CoC可以自动加载(import),控制器实例会自动传递给视图以及便捷的编写测试。使用显式优先隐式,会明确知道代码在做什么,即使对那些不熟悉框架的人。


  从我个人经验来看我更喜欢Django。我喜欢Python的明确(explicitness),喜欢Django的表单以及此框架更有防御性(有限的模板语言,在model字段中null默认不可用)。但我也知道更多人离开了Rails的魔法和它优秀的测试环境是没法活的。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部