V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fullstack0xyz
V2EX  ›  程序员

做 app 的服务端 API,求推荐 Python/PHP 框架

  •  
  •   fullstack0xyz · 2014-12-22 16:20:36 +08:00 · 9060 次点击
    这是一个创建于 3385 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用过Yii1.1(熟练), Django1.7(不太熟),倾向用Python,但不太想用django,一方面不太熟,还有觉得更改数据库表的字段的时候migration太麻烦,自己做小项目玩,可能后面会加很多功能,不太可能一开始就把数据库设计好,像Yii就挺爽的,有个gii可以自动生成代码

    搜了一下,看到别人推荐主要是Python: django, flask; PHP: yii2, slim

    求助v友推荐一下
    63 条回复    2014-12-24 21:10:47 +08:00
    bjzhush
        1
    bjzhush  
       2014-12-22 16:27:15 +08:00   ❤️ 1
    PHP:推荐 Codeigniter ,yii太大了,slim没用过
    kslr
        2
    kslr  
       2014-12-22 16:28:51 +08:00   ❤️ 1
    slim, tornado 没有不必要的功能,简单明了
    像tornado,加个auth认证,和头部json声明,后面就可以直接开始了。
    kslr
        3
    kslr  
       2014-12-22 16:30:08 +08:00
    API最好是符合RESTFUL来做,将来好处多多。
    fullstack0xyz
        4
    fullstack0xyz  
    OP
       2014-12-22 16:35:54 +08:00
    @kslr 很早就听说过RESTFUL, 看了几篇文章但还是没搞明白。。。 正在看
    vaneoooo
        5
    vaneoooo  
       2014-12-22 16:46:47 +08:00   ❤️ 1
    aixinit
        6
    aixinit  
       2014-12-22 17:07:17 +08:00
    golang,beego,绝配啊
    tftk
        7
    tftk  
       2014-12-22 17:17:05 +08:00   ❤️ 1
    做 API tornado 再好不过了。
    trimleo
        9
    trimleo  
       2014-12-22 17:21:14 +08:00   ❤️ 1
    php可以考虑slim 如果有性能要求可以用phalcon
    fullstack0xyz
        10
    fullstack0xyz  
    OP
       2014-12-22 17:24:24 +08:00
    @aixinit 不会Go,暂时也不想学
    fullstack0xyz
        11
    fullstack0xyz  
    OP
       2014-12-22 17:26:03 +08:00
    @trimleo 看来就是tronado或者slim了,先看看去
    laven
        12
    laven  
       2014-12-22 17:31:04 +08:00
    python : flask
    golang : beego
    php : ci
    robertlyc
        13
    robertlyc  
       2014-12-22 17:34:04 +08:00
    ruby: grape
    kimmykuang
        14
    kimmykuang  
       2014-12-22 17:47:04 +08:00
    slim+1, yii(1.1/2)不觉得太大了么,轮子比较多
    crabRunning
        15
    crabRunning  
       2014-12-22 17:59:31 +08:00   ❤️ 1
    yaf,initphp
    GeekGao
        16
    GeekGao  
       2014-12-22 18:07:20 +08:00   ❤️ 1
    tronado + MongoEngine 开发起来很爽,也容易满足“不太可能一开始就把数据库设计好”这种潜在问题
    baocaixiong
        17
    baocaixiong  
       2014-12-22 18:14:38 +08:00 via iPhone
    竟然没有laravel
    wupher
        18
    wupher  
       2014-12-22 18:19:32 +08:00
    最近用Java的Spring-Boot写了一个,也还不错,以Java来说,算方便的了。
    timothyye
        19
    timothyye  
       2014-12-22 18:39:06 +08:00 via Android
    golang: mux
    Bitex
        20
    Bitex  
       2014-12-22 18:42:09 +08:00   ❤️ 1
    Flight,一个很小巧的PHP框架,可以很轻松地实现URL路由。功能很简单,写个迷你服务端足够了。

    http://flightphp.com/
    linnchord
        21
    linnchord  
       2014-12-22 18:55:12 +08:00 via iPhone
    python就flask/tornado
    linnchord
        22
    linnchord  
       2014-12-22 18:57:02 +08:00 via iPhone   ❤️ 1
    python就flask/tornado

    flask生态体系比较全面 插件多
    tornado异步性能比较好 但是不少坑需要自己填
    lujiajing1126
        23
    lujiajing1126  
       2014-12-22 18:59:41 +08:00   ❤️ 1
    PHP的话Laravel~
    其他太多了就不随便推荐了。。。
    lygmqkl
        24
    lygmqkl  
       2014-12-22 19:03:45 +08:00
    Yii 1.x is enough, if u want outsourcer plz contact me.
    lygmqkl
        25
    lygmqkl  
       2014-12-22 19:04:16 +08:00
    ps, full RESTful api, but we only accept >= 100,000 CNY's project
    Jaylee
        26
    Jaylee  
       2014-12-22 19:22:57 +08:00   ❤️ 2
    PHP推荐slim 我用过,很不错
    semicircle21
        27
    semicircle21  
       2014-12-22 19:52:22 +08:00
    用什么 REST 啊, 用 thrift 多爽, (逃
    maga
        28
    maga  
       2014-12-22 20:04:31 +08:00   ❤️ 1
    @linnchord 用tornado, 最近遇到调用外部一个restfull API, 这个API里面timeout, 我整个都阻塞了。 异步东西还是有不少坑啊, 转而用flask
    belin520
        29
    belin520  
       2014-12-22 20:06:56 +08:00   ❤️ 1
    PHP: https://github.com/hfcorriez/pagon
    这个做一个 restful server 学习成本非常非常低
    clino
        30
    clino  
       2014-12-22 21:12:49 +08:00   ❤️ 1
    @vaneoooo "更改数据库表的字段的时候migration太麻烦"这个貌似uliweb也差不多哈,不过有个 uliweb alembic 的数据库迁移工具针对这种经常更改数据库结构可以用
    virusdefender
        31
    virusdefender  
       2014-12-22 21:27:38 +08:00   ❤️ 1
    django 和 django rest framework
    kslr
        32
    kslr  
       2014-12-22 22:08:34 +08:00 via Android
    @maga 你也明明是没有看文档
    sujin190
        33
    sujin190  
       2014-12-22 22:21:26 +08:00
    @maga tornado本来就有异步的client啊
    sujin190
        34
    sujin190  
       2014-12-22 22:21:59 +08:00
    tornado +1
    crazycookie
        35
    crazycookie  
       2014-12-22 22:25:56 +08:00   ❤️ 1
    django 1.7 migrate很方便啊,修改数据库命令执行下搞定
    django tastypie 做restful的api太方便了

    另外,以上帖子提到的任何一个框架都没有 django 成熟吧?
    fullstack0xyz
        36
    fullstack0xyz  
    OP
       2014-12-22 22:42:16 +08:00
    @crazycookie 前段时间用的时候migrate没成功,应该是姿势不对

    成不成熟无所谓,反正是自己玩,看看大家都用的啥
    janxin
        37
    janxin  
       2014-12-22 22:50:16 +08:00 via iPad   ❤️ 1
    没太多需求falcon可以
    qianlifeng
        38
    qianlifeng  
       2014-12-22 22:58:39 +08:00   ❤️ 1
    我用的django/django rest framework => https://api.getwox.com/plugin/
    worldask
        39
    worldask  
       2014-12-22 23:00:37 +08:00   ❤️ 1
    Laravel,非常强大
    gancl
        40
    gancl  
       2014-12-22 23:06:42 +08:00
    有没人用C#+sql server的? 并发等效率怎么样?
    MonkLuf
        41
    MonkLuf  
       2014-12-22 23:17:40 +08:00
    @linnchord tornado有哪些坑?
    MonkLuf
        42
    MonkLuf  
       2014-12-22 23:18:27 +08:00   ❤️ 1
    我只用过tornado,但是tornado真的好用
    soone
        43
    soone  
       2014-12-22 23:35:18 +08:00   ❤️ 1
    推荐个php的,phalcon
    chevalier
        44
    chevalier  
       2014-12-22 23:44:45 +08:00   ❤️ 1
    tornado > flask >>>>django
    maga
        45
    maga  
       2014-12-23 00:06:02 +08:00
    @sujin190 异步用起来还是有点奇怪-.-
    RIcter
        46
    RIcter  
       2014-12-23 00:06:15 +08:00 via iPad   ❤️ 1
    django rest framework
    maga
        47
    maga  
       2014-12-23 00:07:41 +08:00
    @tftk 能解释下怎么好吗
    sujin190
        48
    sujin190  
       2014-12-23 00:10:39 +08:00
    @maga tornado加上yield已经几乎同步写法了吧,如果你不关心底层实现的话
    twinsant
        49
    twinsant  
       2014-12-23 08:49:32 +08:00
    我们从07年Django没发布1.0时就开始用了,现在我用Tornado,bottle和flask也呆萌过。

    不过,你考虑后端干嘛,直接用firebase吧。 @fullstack0xyz
    zjxubinbin
        50
    zjxubinbin  
       2014-12-23 08:52:34 +08:00
    @linnchord 能不能详细说说Tornado的坑?
    P9
        51
    P9  
       2014-12-23 10:54:30 +08:00   ❤️ 1
    django 1.7 已经支持了migrate了,现在做数据可得增删是很方便的。 只是django rest需要额外的插件和一些学习
    Yuansir
        52
    Yuansir  
       2014-12-23 11:11:19 +08:00   ❤️ 1
    python/tornado
    php/slim
    wyx
        53
    wyx  
       2014-12-23 11:47:45 +08:00   ❤️ 1
    同推荐 php 的 slim
    klausgao
        54
    klausgao  
       2014-12-23 14:22:46 +08:00 via iPhone   ❤️ 1
    py flask那个爽啊,我早就抛弃c++++了
    roys
        55
    roys  
       2014-12-23 16:16:29 +08:00   ❤️ 1
    有性能要求没?有的话还是找轻量级的框架,yii和laravel就不推荐了。
    MozzieCN
        56
    MozzieCN  
       2014-12-23 17:21:26 +08:00   ❤️ 1
    "不太可能一开始就把数据库设计好,像Yii就挺爽的,有个gii可以自动生成代码"
    "更改数据库表的字段的时候migration太麻烦"

    --私认为,就是因为不太可能一开始把数据设计好,才正是需要migration机制/工具 , 正是因为这个,目前一个项目 才从flask 转到 Ruby On Rails . RoR最让我难忘的就是migration工具 .

    --如果是认真做项目,如果是非要Python, 推荐还是 Flask .tornado 也行, 玩玩么, 看哪个顺眼就用哪个了..
    haoba
        57
    haoba  
       2014-12-23 17:31:45 +08:00
    flask棒!!!
    clino
        58
    clino  
       2014-12-23 17:32:03 +08:00
    fullstack0xyz
        59
    fullstack0xyz  
    OP
       2014-12-23 19:00:45 +08:00
    @twinsant 这个要付费啊,暂时也还不需要这种服务
    yangxin0
        60
    yangxin0  
       2014-12-23 23:30:07 +08:00   ❤️ 1
    可以尝试基于nginx实现的openresty
    twinsant
        61
    twinsant  
       2014-12-24 08:54:35 +08:00
    @fullstack0xyz 你考虑的太久远了,小项目起步用firebase足够了,它的free版本是够用的。
    ElmerZhang
        62
    ElmerZhang  
       2014-12-24 11:30:25 +08:00
    你现在不是考虑性能的时候,什么熟用什么,快速开发出来并尽量稳定才是正道。语言上的性能不会是瓶颈。
    clino
        63
    clino  
       2014-12-24 21:10:47 +08:00
    http://www.weibo.com/1689940061/BClS8cMmx
    Uliweb动态创建Model的dev分支已经推上去,可以通过数据库的配置来动态创建Model了。

    刚看到的,不知道用起来怎么样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4546 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:57 · PVG 17:57 · LAX 02:57 · JFK 05:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.