有具体需求的月经贴:python(Django)还是ruby(RoR)? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
akinoniku
V2EX    问与答

有具体需求的月经贴:python(Django)还是ruby(RoR)?

  •  
  •   akinoniku 2013-07-26 12:00:49 +08:00 7297 次点击
    这是一个创建于 4516 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目背景:

    1. 要做Restful的服务端,而前端用AngularJS+coffee做,也就是后端逻辑大概不强

    2. 有大量的写请求(短数据的即时保存,可以理解为类似tweet,但不用立即推送)

    3. 对会员管理有比较高的要求(不同的角色,权限,组),内容管理也是

    4. 自己做,至少现阶段是这样

    5. 这是一个认真做的网站,不是练练手什么的

    6. 在出现性能问题前都不打算用nosql



    个人背景:

    1. 已经有Django rest的项目基础(星祈娘),也用过挺多后端框架(ThinkPHP,ZF2,Cocoa)

    2. 没用过ruby,十分不了解,听说coffee学了ruby不少语法?

    3. 部署和维护难度虽然也在考虑范围,但我有nginx和apache的经验,觉得大概都没什么问题



    疑问之类的:

    1. Django的user模块在ror有没有代替品?

    2. ror代码写出来会不会品质很差(因为要现学ruby,而ruby is magical..)

    3. 性能差别大概是不用想的吧? 应该都差不远? 反正大不了堆硬件?

    4. 因为是自己写,所以我更在意开发效率


    牢骚:

    1. rubyMine 现在应该没打折了,早知道一起买了嘤嘤

    2. 设计、交互、前端都要自己做这究竟是个多大的坑
    17 条回复    1970-01-01 08:00:00 +08:00
    timonwong
        1
    timonwong  
       2013-07-26 12:05:57 +08:00   2
    1. 不是练手的请用自己熟悉的;
    2. 注重开发效率请首先考虑自己熟悉的;
    3. 部署和维护都应该首先考虑自己熟悉的。
    akinoniku
        2
    akinoniku  
    OP
       2013-07-26 12:10:42 +08:00 via iPhone
    @timonwong 其实Python也只是三个月的新手
    bakac
        3
    bakac  
       2013-07-26 12:28:27 +08:00   1
    @akinoniku 起码比ROR熟悉
    obyuki
        4
    obyuki  
       2013-07-26 12:31:51 +08:00   1
    搭车问一下,laravel与django/ror的差别和django与ror的差别相比会差很多吗
    lichao
        5
    lichao  
       2013-07-26 12:35:01 +08:00   1
    如果你同时对 ror 也非常有兴趣,可以考虑用 ror 做,否则还是 django 吧
    panlilu
        6
    panlilu  
       2013-07-26 12:37:11 +08:00 via Android   1
    虽然ror很好用,但是你这情况我建议继续Django。
    关于疑问,1有,2不会,3是的,4效率熟悉了应该差不多。
    打算推到重做的话ror快。

    ps为了回答你的问题地铁坐过站了orz
    akinoniku
        7
    akinoniku  
    OP
       2013-07-26 13:29:32 +08:00
    @timonwong
    @bakac
    @obyuki
    @lichao
    @panlilu OK, I see. 那直接用Django就好,我还以为ror做rest有什么优势呢。

    十分感谢
    wenbinwu
        8
    wenbinwu  
       2013-07-26 13:39:33 +08:00
    我肯定是会用熟悉的django + tastypie
    前端的选择会影响后端么,有多大影响?求指教
    aisk
        9
    aisk  
       2013-07-26 13:41:34 +08:00
    直接上coffee?
    akinoniku
        10
    akinoniku  
    OP
       2013-07-26 13:51:53 +08:00
    @wenbinwu 请问 tastypie 跟http://django-rest-framework.org/ 哪个比较好用?


    @aisk node.js吗? 考虑过Express,可是框架太轻了,恐怕要造不少轮子
    wenbinwu
        11
    wenbinwu  
       2013-07-26 15:33:46 +08:00
    @akinoniku 我前阵子也想了这个问题,我对resource这种概念更理解一些,所以用了tastypie。rest-framework文好像好一些,tastypie要用的真的得源才好
    davepkxxx
        12
    davepkxxx  
       2013-07-26 16:26:47 +08:00
    我觉得大部分项目都没有机会体会到ror性能差,所以用你最喜欢的语言开发吧。
    akinoniku
        13
    akinoniku  
    OP
       2013-07-26 18:31:39 +08:00
    @wenbinwu 那我还是用rest-framework比较好,顺便问问rest概念读哪一本书好,RESTful Web Services Cookbook 这本应该OK?


    @davepkxxx 最终决定了Django + Django rest framkwork,谢谢
    wenbinwu
        14
    wenbinwu  
       2013-07-26 18:52:49 +08:00
    @akinoniku 我有哪本,只是做了一些搜索,比如如果做versioning,什子的URI比
    angelface
        15
    angelface  
       2013-07-26 19:09:02 +08:00   1
    如果你在意开发效率我觉得ror更适合你 但我觉得这类的应用node.js或是tornado更合适。
    kk71
        16
    kk71  
       2013-07-26 19:48:06 +08:00   1
    既然不是练手 django不正好吗
    为什么会考虑重新学RoR?
    cngithub
        17
    cngithub  
       2013-07-26 19:58:54 +08:00   1
    写过个类似APP。

    如果是Ruby,大约不到千行代码解决。Python应该也差别不大。

    选型Ruby,社区较流行的方案是:devise(解决一堆用户注册、授权等问题,移动端也解决)、角色管理则用Cancan等兼容Devise组合;API用grape。

    Ruby部署与维护则非常方便,一般用vagrant+chef+capistrano实现一键分发与维护。

    过些日子,我会放出我的维护项目:Railsbox,一键部署常见云主机。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2336 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:19 PVG 08:19 LAX 16:19 JFK 19:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86