Web 全栈框架, Rails or Django? (有部分爬虫需求)

2016-11-06 18:47:28 +08:00
 WildCat

团队现状: 一共两人,一个负责 marketing/product ,一个(我)负责开发(全栈)。非前后端分离应用。 个人对两个框架的熟悉程度:Rails 过去用的稍多,Django 少一些但是比较熟悉。

web 框架选择考虑如下几个方面(含个人简介,求评价):

  1. ORM :肯定 ActiveRecord 最方便,但是 Django ORM 也很好用了
  2. 爬虫需求: Rails 里打算 mechanize + nokogiri + sidekiq + whenever ,感觉这样性能不高。 Django 里面打算通过 celery 调用 scrapy 。总体 Python 里写爬虫方便。爬虫有重度需求(约为后端总代码量 30%)。
  3. 后台: Rails 目前考虑 rails_admin ,但是感觉 Django admin 更好一些
  4. asset pipeline : Rails 的感觉挺好用, Django 不了解。即使不行也不用担心,大不了用 webpack 自己打包。
  5. 微信相关库:感觉都差不多。

纠结的点主要在 rails 和 ruby 上,这两者感觉更新都不活跃了, TIOBE 最近的排名 Ruby 掉得也很快。生态上还是 Python 稍胜一筹。

10400 次点击
所在节点    程序员
71 条回复
skyboy
2016-11-06 19:04:50 +08:00
我有两个更好的推荐:

1.首推 nodejs+express+mongodb

2. 次推 php+laravel+postgrelsql

这两种方案,做W eb 网站还有后台 Api 都可兼吃,关键是快快快.好用.
janxin
2016-11-06 19:19:43 +08:00
你熟悉哪个用哪个,差不多的
102400
2016-11-06 19:35:59 +08:00
Rails 构建 API 太容易了
pathbox
2016-11-06 20:12:50 +08:00
@skyboy rails 开发速度比你的两个方案快。 性能比 nodes 慢点,但和 larval 差不多吧?
pathbox
2016-11-06 20:15:24 +08:00
Python 的排名比较前 应该不是由于 其 web 开发(除了爬虫)范围做的贡献吧? 爬虫,还是用 Python 吧
zhouquanbest
2016-11-06 20:21:22 +08:00
爬虫?异步?
那果断 Tornado 啊
dodo20120
2016-11-06 20:25:32 +08:00
一直在做 rails ,只能说相对来说 rails 的 gem 多,至于后台管理,不要用 rails_admin ,坑多,还不如自己 scaffold 来的快
aabbccli
2016-11-06 20:38:59 +08:00
@zhouquanbest Tornado +1
WildCat
2016-11-06 21:03:04 +08:00
@skyboy 我 node 写过很多, express mongoose 完全不够,很多轮子需要自己找,对于选择困难症来说很浪费时间。
laravel 写爬虫很不舒服,并且不喜欢 PHP ,个人体验是 php 部署反而比 ruby/python 麻烦。

@janxin 两个都比较熟悉, rails 略熟悉,只是担心未来。

@102400 Djangorestframework 也很容易,都差不多的。并且没太多 API 需求。

@zhouquanbest @aabbccli web 理解,爬虫为什么想用 tornado ?另外不是全栈框架一个人写好累
davidtsang
2016-11-06 21:49:13 +08:00
选什么语言看排名纯粹是自寻烦恼。如果只有一个人, Rails 是最佳选择。爬虫什么的,可以混搭使用。
WildCat
2016-11-06 22:46:50 +08:00
@davidtsang 混搭 python 吗?
EricCartman
2016-11-06 23:11:47 +08:00
web 框架部分哪个顺手用哪个 爬虫可以用 tornado 或者加个 gevent 之类
nine
2016-11-06 23:23:17 +08:00
PySpider 结果集导进 rails
lightening
2016-11-06 23:23:42 +08:00
我们有个类似项目, web 用 Rails ,爬虫用 Python ,中间用 RESTful API 通信。
phithon
2016-11-06 23:40:40 +08:00
django 吧,爬虫+web->django+celery+scrapy 很好的搭配, api 就用 django_restframework ,后台就用 djangoadmin 。完全不用折腾
janxin
2016-11-06 23:49:27 +08:00
@WildCat 有啥未来好担心?
SlipStupig
2016-11-07 01:37:57 +08:00
什么熟悉用什么,项目能不能存活都是个大问题,未来没人能知道,尽量先做出来再想生态优化这些问题
icedx
2016-11-07 09:04:28 +08:00
其实我还是推荐瓶子或者龙卷风
啊 你们有重度的爬虫需求 为什么不找个专业的呢
↑指
wupher
2016-11-07 09:09:57 +08:00
哪个快用哪个,哪个熟悉用哪个,别担心未来。

未来如果很美好,挣到钱了大可推翻重来,类似 twitter 。

未来如果很悲剧,哪怕你是用 Go 写的,也不会有心情维护升级它。
nanlong
2016-11-07 09:33:31 +08:00
肯定 rails 。用 Django 你绝对后悔。爬虫部分的业务可以拆分出来用 scrapy 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/318509

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX