新手问题 新手问 Rails 更适合什么样的项目

ColdsterW · 2012年07月24日 · 最后由 weihuilee 回复于 2012年07月25日 · 4449 次阅读

这是个在隔壁问了的问题,想必应该多方请教才是。

目前要做一个内部的用于日常跑 production 的数据平台。具体功能就如同一些 ETL 工具一样。

从各种数据供应商的各种数据源载入数据,然后清洗数据、转换和计算,生成 output 后投递到客户那里(FTP,数据库,email…)。

之前类似的东西是拿 Java 做的。现在想尝试下新东西。自己了解过一些 rails 的皮毛,django 目前在学。我知道各种技术和框架应该都能够实现上面的需求。但是 django 和 rails 相比的话哪一种更适合上面的需求呢?

如果可能的话,希望高手指点一下 django/rails 本身的特性更适合哪一类项目。

@brantyoung 给了我一些有用的回答

在此并不列出了

匿名 #1 2012年07月24日

看你描述的需求不像是一个 web,而是一个纯 serverside 而已

楼主分析下 Pinterest 的技术?

有时我真不知道某些 Pyhtoner 的偏见是从哪来的。

楼主的需求不需要 Web 端,Rails 是个 Web 框架对楼主帮助不大。

Python 和 Ruby 都行,看楼主喜欢哪个,库都不缺。

是这样的,服务器端要求的是比较多,但是这个平台是给专门的无技术背景只有金融背景的人操作和监控的。需要对一些过程进行一些设定,需要监控和查看每一步的细节等。所以还是要前端要 web app 的形式的。

Python 一堆的 Web 框架不累啊,社区的力量都分散到各种框架上面了,所以到目前为止也没一个 公认靠谱 的,我一直有在关注 Python 社区,国内用 Django, Flask, WebPy, Tornado, Bottle, TurboGears, Pylons 都有,还有国人自己搞的 uliweb,而 Ruby 社区流行的就 Rails 和 Sinatra

Python 的框架 就好像 Google Android 有很多(机型)选择,Ruby 的框架 就好像 Apple iOS,只有一款选择

你觉得那个好?当然上面这个比喻或许不是很恰当...

但是有一点,当整个社区都在集合力量再同一个项目上面,产生的结果一定会比将力量分散到不同的项目上面要好!

别拿 Python 的那些框架和 Rails 相比。就好像再速度上面 Ruby 一直赶不上 Python 一样。

当然喜欢 Python 或是 Ruby 这个要看个人喜好,喜欢 Ruby 的人大多认为 Python 写起来太丑陋,而喜欢 Python 的也会觉得 Ruby 有 xxx 不足。

你爱怎么用就怎么用吧。


另外,@brantyoung 的倒数第二句话就是乱说!

#5 楼 @huacnlee Rails 能跟 Django 比了?

@bhuztez 这句话应该反过来说,Django 这么一个连 Python 社区很多人都不喜欢用的框架,还拿出来和 Rails 比。

引用这句话:

用 Python 的话,选择就多了,Flask + Jinja2 + SQLAlchemy 会比 Django 更合适。

#7 楼 @huacnlee 这样比不行啊,那我还能说 Guido 喜欢 Django,Matz 不是很喜欢 Rails...

来个 feature by feature 的比较吧

#4 楼 @ColdsterW 在 Web 层面,Rails 是目前最好的框架。我看过很多非 Ruby 程序员对 Rails 的介绍都是错的。Rails 的模块化做得很好,几个大块不满意都可以替换,比如 Ruby China 模型层用了 Mongoid,CodeCampo 的视图模板用了 haml,以后还可能用 slim。但是 Rails 的默认组件对大部分人是最优选择,所以成为了最省时间的 Web 框架。

Ruby 的现成工具包很多,可以在这里大概浏览一下有没有自己需要的库 https://www.ruby-toolbox.com/

@huacnlee 好吧,我是乱说的。@Rei 很抱歉给你带来偏见的感觉。@ColdsterW 能否把我的引述删了?这样的转贴我私下不是很好。

另外,我注册 ruby-china 帐号希望从社区借鉴 ruby/rails 如此具备生产效率之道,当 pythoner 都忙着造轮子并争论哪个框架更优时,ruby/rails 社区已经把想法实现出来了,并且不乏改变世界的产品,比如 37signals 和 github。

ruby-china 以前也有过类似的争论,这类浪费生产力的月经贴应该越少越好。我认为行动和想法本身比所使用的技术更为重要,Mark Zuckerberg 用 PHP 也做出了改变世界的产品。

我身边的同事也有问我类似的问题,我想我以后的建议都是:选个自己看着顺眼的,深入下去,行动和想法远比纠结于技术的表象更为重要。

很抱歉引起技术争议。

#10 楼 @brantyoung 喜欢你的观点 : )

请找出个 Rails 的 QBE 来?

http://versae.github.com/qbe/

@brantyoung 已经移除了,给我的建议里面还是对我有所帮助的。

:octocat: 我觉得每个语言都有优劣。脱离场景的比较没啥意义! 能不能用那个工具造出好的东西,关键还是看使用这个工具的人。

bhuztez [该话题已被删除] 提及了此话题。 04月03日 10:58
需要 登录 后方可回复, 如果你还没有账号请 注册新账号