需要写一个服务器,主要做:
技术上考虑是 http(s) JSON API 服务器,数据库考虑 mongo 。
Google 一圈下来 推荐的有
我个人有多年编程经验,但是服务器编程只用过 Node.js 和 boost.asio 。
考虑本身这个服务器需求比较简单,主要是操作 mongo 方便,才考虑 Python ,这样比较快。
那么问题来了, Python Web 服务器框架里面(不限于以上)哪个满足以下要求呢:
1
jjx 2016-09-20 18:13:03 +08:00
我一直用 bottle
|
2
qweweretrt515 2016-09-20 18:14:09 +08:00
django-rest-frame
|
3
qweweretrt515 2016-09-20 18:14:19 +08:00
django-rest-framework
|
4
sylecn 2016-09-20 18:22:29 +08:00 1
1 3 这些框架都可以满足要求。 2 不犯错需要经验,基本上没有框架是没有坑的,只是挖坑的地方不同而已。
小项目不用担心犯严重错误,大不了重写嘛。小项目,业务逻辑写好了,换框架不费事。 推荐 flask 或者 bottle. 原因:轻量级,项目在持续维护,结构简单,性能可靠。 django 由于重量级,以及这个项目不需要 SQL 类型的 ORM ,也不需要模板渲染和相关的辅助工具,系统复杂带来的学习成本,不做考虑。 web.py 自从原作者前些年不幸去世之后,项目维护和发展不及 flask 和 bottle. 所以从文档和性能调优方面来看,不推荐。 如果追求性能 bottle + gevent 或者 bottle + uwsgi 挺靠谱的。 如果喜欢各种集成, flask 对周边东西的集成比 bottle 多一些。用 bottle 需要你自己比较懂 web , flask 即使不懂也可以开始用别人写好的一些东西。 |
5
bomb77 2016-09-20 18:32:01 +08:00 3
如果纯后端 api 的话,可以尝试 falconframework ,分分钟就可以写一个 api 出来,而且性能很好,具体官网有说明
nginx + gunicorn + falconframework |
6
virusdefender 2016-09-20 18:35:16 +08:00
mongod 的话,不推荐 django 了,因为 orm 不支持,和其他框架没啥区别了。
|
7
shuax 2016-09-20 18:37:05 +08:00
tornado 路过
|
8
chengxuyuanfei 2016-09-20 20:26:19 +08:00 via Android
推荐 flask ,够轻,开发快
|
9
qwer1234asdf 2016-09-20 20:29:27 +08:00
flask 不错,我们现在在用, flask 做后台,同时给 ios/android 、 pc 和管理后台提供接口
|
10
magicdawn 2016-09-20 20:37:50 +08:00
koa + mongoose 手动 dog
|
11
28ms 2016-09-20 20:40:05 +08:00 1
我谈谈自己的经历,最近一个项目用了 drf ,也就是 django rest framwork, 数据库部分用了 Mysql ,并且用了大量的 Django ORM 。
实际项目中有很多 Restful 规范并不能很好的被其他人接受,我的理解是 restful 是一种面向 Resource 的规范。跟前端配合上也有些波折(前端水平不咋地, rest 之前都没听说过)。 如果项目需求简单那么可以用非常快的速度搭建一套可用的 API ,但是如果项目结构复杂、需要自定义的东西越多,那么这个框架带来的便利程度大打折扣,甚至有些拖后腿。 之前一直在自己的小项目里练手 drf ,这是第一次用在正式的项目中,结果就暴露了很多问题,当然也有可能是我认识不够全面,所以仅作为我个人看法供参考。接下去会吸收一些 drf 的设计理念自己造一个轻量级贴合公司业务本身的框架轮子。 |
12
ldehai 2016-09-20 20:40:20 +08:00
tornado
|
13
102400 2016-09-20 20:51:16 +08:00
Ruby 的 Grape
|
14
GhostStar 2016-09-20 20:54:07 +08:00
flask+1
|
15
cszhiyue 2016-09-20 20:55:03 +08:00
flask 根据需要
|
16
lilydjwg 2016-09-20 21:07:53 +08:00 1
Tornado, 异步的,不需要开一堆进程 /线程来跑。一个核开一个进程就好。
简单,没有 Flask 和 Django 那么多东西,易上手(特别是做 JSON API )。而且你也有异步编程的经验。 另外我用过 Flask ,特别讨厌它的 g 和 request 这种「全局」变量。刚开始用着方便,但是很容易犯下严重的设计错误( 必要地耦合到这些变量上)。 |
18
Gem 2016-09-20 21:19:11 +08:00
推荐 bottle 不多啊
|
19
wuxqing 2016-09-21 08:18:14 +08:00
flask +1 插件、轮子比较多
|
20
putianxi 2016-09-21 09:18:32 +08:00
有个新框架叫做 hug , https://github.com/timothycrosley/hug, 看着挺不错,基于 aiohttp
|
21
onestar 2016-09-21 12:26:08 +08:00
flask 足够,灵活,轻量级
|