有没有什么做 CRUD 出活快的 web 框架或者代码生成工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
laobubu
V2EX    程序员

有没有什么做 CRUD 出活快的 web 框架或者代码生成工具

  •  2
     
  •   laobubu
    laobubu 2018-05-01 14:53:46 +08:00 16734 次点击
    这是一个创建于 2786 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在很多网站需求,十之八九都脱离不了增删改查( CRUD )和用户鉴权。 在高度相似的代码上,不值得浪费大量的时间。

    于是,各位有没有什么能够快速出活的,守护程序员发际线的 web 开发利器?

    先举个栗子

    Django (Python)

    能搞定后端,同时还能一定程度解决前端(界面或者 HTTP 接口)的框架。

    口号: The Web framework for perfectionists with deadlines

    1. 定义个 Model,各种字段,然后就可以生成数据库表
    2. 再用四五行代码,对应地定义个 ModelForm,然后就可以对用户提交的数据做验证、对应到 Model 上更新数据库(甚至还能生成个前端的表单界面)
    3. 而且还有开箱即用的用户管理、登录状态、权限管理等,基本满足常见场景
    97 条回复    2018-12-17 06:59:24 +08:00
    dinghua
        1
    dinghua  
       2018-05-01 15:18:59 +08:00
    Laravel + Backpack 了解一下
    2ME
        2
    2ME  
       2018-05-01 15:24:48 +08:00 via Android
    YII
    coderfox
        3
    coderfox  
       2018-05-01 15:26:42 +08:00 via Android
    LazyREST
    tinycold
        4
    tinycold  
       2018-05-01 15:33:26 +08:00 via Android
    Eggjs
    PressOne
        5
    PressOne  
       2018-05-01 15:37:09 +08:00 via Android
    流行的常见 web 框架 + orm 都能实现楼主的要求
    sammo
        6
    sammo  
       2018-05-01 15:48:58 +08:00
    搭车问一下有没有 java 的
    williamgong
        7
    williamgong  
       2018-05-01 15:51:21 +08:00
    springboot
    Shynoob
        8
    Shynoob  
       2018-05-01 15:52:09 +08:00
    @sammo jeesite/jeeplus
    BlkFHusky
        9
    BlkFHusky  
       2018-05-01 15:59:47 +08:00 via Android
    @sammo mybatic generator
    WildCat
        10
    WildCat  
       2018-05-01 16:03:50 +08:00
    Rails 是最快的,毋庸置疑。
    cigarzh
        11
    cigarzh  
       2018-05-01 16:05:58 +08:00 via iPhone
    CRUD 你能快过 ror ?
    Kongtou
        12
    Kongtou  
       2018-05-01 16:06:12 +08:00
    jhipster
    guoyuchuan
        13
    guoyuchuan  
       2018-05-01 16:06:42 +08:00
    肯定有,我之前实习的公司,用的 ejb+glassfish+jsf+primefaces ;老板用 NetBeans 工具:在 NetBeans 里面建数据库表,表建好了就直接把代码 生成好了,增删查改,排序,分页,前台页面等所有代码全部就自动生成为一个完整的项目,配置这些都是自动生成好的,直接就使用,我们当时做一个模块,老板就直接五分钟不到就做好了,我们直接拿来就开始用了;这个自动化的工具(好像老板说的是一个框架)老板说是他们自己搞出来的,然后就见过那一次,以后都没有见过了
    guoyuchuan
        14
    guoyuchuan  
       2018-05-01 16:08:22 +08:00
    用户鉴权这个好像就没有见过了
    Biebe
        15
    Biebe  
       2018-05-01 16:13:16 +08:00
    ror
    crayygy
        16
    crayygy  
       2018-05-01 16:43:53 +08:00 via iPhone
    一个已经搭建好基础功能的 RoR 能够在三分钟之内完成 CRUD 以及所有的验证功能
    Cbdy
        17
    Cbdy  
       2018-05-01 16:44:47 +08:00 via Android
    每个语言最流行的 Web 框架都可以
    hqs0417
        18
    hqs0417  
       2018-05-01 16:51:29 +08:00 via Android
    jhipster
    rockyou12
        19
    rockyou12  
       2018-05-01 17:01:02 +08:00   1
    我也想求个能快速做用户授权、验证的框架,crud 随便一个 orm 基本都不复杂,但简单能实现一个基于用户角色+任意验证机制的好像真的没见过。我是写 java 为主的,不管是 shiro 还是 sprng security 要不就是要自己写要不就是太复杂的……
    prolic
        20
    prolic  
       2018-05-01 17:34:47 +08:00 via Android
    gii,ror 没用过不评价
    loading
        21
    loading  
       2018-05-01 18:38:12 +08:00 via iPhone
    看着我想去学 ror 了,借楼问一下,ror 部署麻烦吗?
    wmhx
        22
    wmhx  
       2018-05-01 18:46:14 +08:00
    yii 这类的
    glues
        23
    glues  
       2018-05-01 18:53:00 +08:00   1
    @loading 有非常完善的部署工具,或者扔 docker 里
    glues
        24
    glues  
       2018-05-01 18:54:21 +08:00
    Rails 一出,这个话题可以终结了
    chenuu
        25
    chenuu  
       2018-05-01 19:52:07 +08:00
    java 的,sculptorgenerator 前前公司生产上用过
    beginor
        26
    beginor  
       2018-05-01 20:18:36 +08:00 via Android
    难道不是 ASP.NET Core 么?
    sticnarf
        27
    sticnarf  
       2018-05-01 20:36:00 +08:00   1
    @rockyou12
    Rails + cancancan 了解一下?
    woscaizi
        28
    woscaizi  
       2018-05-01 20:52:55 +08:00
    java 的话,很多代码生成开源项目可以用,只是一些因为封装得太好,所以上手需要时间。
    soooon
        29
    soooon  
       2018-05-01 21:28:24 +08:00   4
    这个 Enhancer 云开发平台真的有发言权: https://enhancer.io
    fujie
        30
    fujie  
       2018-05-01 21:33:23 +08:00
    如果不挑剔的话,暂时没发现比楼上 Enhancer 更快,更强大的了。
    fujie
        31
    fujie  
       2018-05-01 21:35:40 +08:00
    @glues 你确定仔细了解过 Enhancer: https://enhancer.io ?
    981764793
        32
    981764793  
       2018-05-01 22:06:29 +08:00 via Android
    java 的话 jhipster,国内也有很多框架,只不过有的就像楼上也有人说过的封装得太多了学习成本高但没学习 jhipster 的价值高
    glues
        33
    glues  
       2018-05-01 22:07:29 +08:00
    @fujie 业务逻辑写在 SQL 里,连 UI 组件都绑定死了,只能呵呵了
    rockyou12
        34
    rockyou12  
       2018-05-01 22:13:15 +08:00
    @sticnarf ruby 还是算了吧,国内生态太差了,又不可能拿来写大项目,重构要死人的
    fwee
        35
    fwee  
       2018-05-01 22:18:52 +08:00
    用 rails,做最快的男人!
    iRiven
        36
    iRiven  
       2018-05-01 22:27:30 +08:00
    关注一下 表示非常需要类似的东西
    sticnarf
        37
    sticnarf  
       2018-05-01 22:43:35 +08:00 via Android
    @rockyou12 如果只是一个 crud 网站的话,Rails 周边的生态不要太好,几乎什么需求都有 gem 帮你搞定了
    私以为以大多数项目的规模,Rails 完全可以胜任,GitHub 不还用着 Rails。动态语言写好测试的话,正常情况重构也不是那么可怕的事情。
    如果项目真的发展到 Rails 难以支持的地步时,自然有钱 /人来重构 /重写的 (逃
    fujie
        38
    fujie  
       2018-05-01 22:43:40 +08:00
    @glues 什么叫做业务逻辑写 SQL 里? SQL 本来不就是业务逻辑么? UI 组件绑定与否,看你是要快,还是要个性化吧。你可以看看他们给的例子,如果给你做需要多久,比如那个会议室预订
    CoderGeek
        39
    CoderGeek  
       2018-05-01 22:48:05 +08:00
    sql 纯手写 别的倒还可以生成 。。。
    atpking
        40
    atpking  
       2018-05-01 22:50:55 +08:00
    @rockyou12

    其实 ruby-china 我觉得应该是比较成功的中国技术类社区了吧
    shijingshijing
        41
    shijingshijing  
       2018-05-01 23:00:27 +08:00
    PHPMaker 了解下~
    murmur
        42
    murmur  
       2018-05-01 23:07:44 +08:00   1
    @fujie 是有那些公司的,一般比如说校验、比较、计算这些会在数据库里查询数据,然后在后端完成流程业务这些,有的是纯数据库存储过程,理由是所有代码不需要重启直接上线或者更新

    虽然看上去有点奇葩但是真有这么做的
    rockyou12
        43
    rockyou12  
       2018-05-01 23:17:32 +08:00
    @sticnarf
    如果很熟悉 ruby,你说的没问题,但事实上国内用 ruby 的太少了,虽然社区还可以,但解决方案和其他语言比差多了。
    造成结果就是我只想写个网站,但既要学门新语言,还要学新框架、还要了解周边生态???综合成本反而更高了……

    而且除非我网站真就是写着玩,不然为啥要一开始就用个性能差一个数量级的语言,gitlab 最低 4g 都不一定流畅,我司生产环境的 gogs 到现在都只用了 500 多 m 的内存。真以为服务器不要钱啊……
    Mac
        44
    Mac  
       2018-05-01 23:19:57 +08:00
    @soooon 话说最近打开有点卡,上海电信,载入时间要好几秒,打开后很顺畅,不知道为什么
    qsnow6
        45
    qsnow6  
       2018-05-01 23:31:31 +08:00
    用自己擅长的语言,会 python 的话就用 django,PHP 就用 YII

    为了所谓的出活快,去学 rudy 再熟悉框架,你确定这出活快?
    glues
        46
    glues  
       2018-05-02 00:05:38 +08:00 via iPhone
    @rockyou12 gogs 和 gitlab 的功能相比也差了一个数量级你怎么不说
    glues
        47
    glues  
       2018-05-02 00:10:20 +08:00 via iPhone
    @rockyou12 你的逻辑很奇怪,都不说跟谁对比,就一直说性能差,生态差,然后对比又不放在同一个维度
    msg7086
        48
    msg7086  
       2018-05-02 00:10:59 +08:00
    @qsnow6 很快啊。
    我 PHP 程序员入职以后被要求做 Ruby 项目,3 个小时学完 Ruby 入门,一星期开始用 Rails 撸项目了。
    撸完以后我就再也不写 PHP 了。
    初期写代码基本靠猜,猜着猜着就猜中了,猜不中的再去翻文档……
    encro
        49
    encro  
       2018-05-02 00:14:27 +08:00
    yii django ror 没有比这更快的 crud 了
    iappled
        50
    iappled  
       2018-05-02 00:32:25 +08:00
    Rails
    iappled
        51
    iappled  
       2018-05-02 00:33:12 +08:00
    @rockyou12 公司 8G 内存都出不起吗?
    iappled
        52
    iappled  
       2018-05-02 00:33:39 +08:00
    @rockyou12 Gitlab 和 gogs 的功能可以是差很多,比如 gitlab ci 很好用
    chniccs
        53
    chniccs  
       2018-05-02 09:05:47 +08:00
    java 的话 jeecg
    lujiajing1126
        54
    lujiajing1126  
       2018-05-02 09:07:11 +08:00
    Rails
    nbuu
        55
    nbuu  
       2018-05-02 09:12:15 +08:00
    play framework 1.x 版本 ,java
    tydl
        56
    tydl  
       2018-05-02 09:12:58 +08:00
    thinkcmf 了解一下
    BQsummer
        57
    BQsummer  
       2018-05-02 09:44:51 +08:00 via Android
    @sammo
    mybatis generator + 通用 mapper + pagehelper
    crackhopper
        58
    crackhopper  
       2018-05-02 09:53:39 +08:00
    我用的 strapi,可以了解下。CRUD 和用户权限等 api 基本通过界面的点击就能完成。
    hbsfxlz
        59
    hbsfxlz  
       2018-05-02 10:10:15 +08:00
    jfinal,还可以,有代码生成工具
    jy00566722
        60
    jy00566722  
       2018-05-02 10:10:38 +08:00   1
    Enhancer: https://enhancer.io
    真的不错。不用考虑前端与后台,要考虑的只是 SQL,其实有几条 SQL 呢,在 phpmyadmin 里弄好复制出来就行了。
    ty89
        61
    ty89  
       2018-05-02 10:14:56 +08:00
    ROR 里的 Grape 了解一下? https://github.com/ruby-grape/grape
    cai314494687
        62
    cai314494687  
       2018-05-02 10:19:21 +08:00
    yii2
    wslsq
        63
    wslsq  
       2018-05-02 10:20:18 +08:00
    https://github.com/z-song/laravel-admin
    laravel 的后台框架了解一下
    nicevar
        64
    nicevar  
       2018-05-02 10:46:05 +08:00
    @sammo #6 java 的话,QueryDSL 出活快,特别是做后台管理
    maxmilia
        65
    maxmilia  
       2018-05-02 10:46:41 +08:00
    PHP Yii2 +1
    yag
        66
    yag  
       2018-05-02 11:03:14 +08:00
    基于自己的代码习惯,自己写了一套,因为我们公司用 iview,顺便也写了两篇 iview 的增删改查的模板,这个东西,自己抽出一天多的时间就能写一套的
    wekw
        67
    wekw  
       2018-05-02 11:16:04 +08:00
    @WildCat Laravel 比 Rails 更快,但是更难学
    oswuhan
        68
    oswuhan  
       2018-05-02 11:21:06 +08:00
    OSC 有个知名框架叫 jfinal,号称“极速 WEB + ORM 框架”,了解一下
    tyrad
        69
    tyrad  
       2018-05-02 12:42:06 +08:00
    yii 框架的 gii 功能
    z67nnciQnb7r8bLf
        70
    z67nnciQnb7r8bLf  
       2018-05-02 13:26:06 +08:00
    我正在做,基于 springboot 用 kotlin 写的,后端基本已经成型,现在在搞前端的。
    功能类似与 abp 里面的功能,但是没有多租户
    sirqiao
        71
    sirqiao  
       2018-05-02 13:46:54 +08:00
    asp.net mvc 了解一下?
    lhc70000
        72
    lhc70000  
       2018-05-02 14:58:46 +08:00
    Rails。用过 Django,非常后悔(
    9066v
        73
    9066v  
       2018-05-02 15:05:22 +08:00
    Laravel + Backpack +1
    这个上手挺快的
    dishonest
        74
    dishonest  
       2018-05-02 15:18:16 +08:00
    最强的是 Rails。然而由于人手原因,最后用了 django。
    momo1999
        75
    momo1999  
       2018-05-02 15:22:04 +08:00
    xadmin 喽
    timwei
        76
    timwei  
       2018-05-02 15:32:52 +08:00
    以前外包团伙内部维护了一个用 Thor 编写的 Rails template

    开局配置一个 yaml 文件宣告表结构、routes

    rails new 后数据库、常用 gems、restful api 会一并整好

    只剩下等设计完成前台设计后嵌回 erb 与服务器工作,做普通带后台的形象网站非常快
    mosesyou
        77
    mosesyou  
       2018-05-02 15:54:15 +08:00
    java 也可以的,spring boot+模版引擎生成 crud 代码,前后端代码都能生成
    mentalidade
        78
    mentalidade  
       2018-05-02 15:55:03 +08:00
    这么多推荐 Rails 的,吓得赶紧搜索了下,整个上海都没几家公司招人的。如果不是工作使用,各位大佬都是私下自学玩耍的吗?
    enhancer
        79
    enhancer  
       2018-05-02 16:00:06 +08:00
    欢迎尝试 Enhancer,只要打开浏览器,写写 SQL 就能一站完成全部开发: https://enhancer.io
    yuhr123
        80
    yuhr123  
       2018-05-02 18:00:20 +08:00
    Ruby On Rails
    zpvip
        81
    zpvip  
       2018-05-02 18:12:22 +08:00
    在中国是个怪圈,

    老板招 php,python 或 java 等的人, 是因为学得人多,付的工资便宜。

    大家都学 php,python 或 java, 是因为招的老板多。工资高不高不是大问题,总比会 Rails 饿死强。

    会 Rails 的人一直在暗爽,自己玩,接外包或者远程都可以,少些人竞争工资会高很多。国内没机会,国外机会大把。
    solobat
        82
    solobat  
       2018-05-02 18:16:31 +08:00
    eggjs 不错,像我这种业余后端,都能一键搞定部署。。
    xudaiqing
        83
    xudaiqing  
       2018-05-02 19:33:33 +08:00 via Android
    Couchdb 天生支持 crud
    rockyou12
        84
    rockyou12  
       2018-05-02 20:33:43 +08:00
    @glues 应为 lz 是要多快好省做 crud,我问的也是 java 有没有类似的。但老是有很多人推 Ruby On Rails。没人说
    Ruby On Rails 开发不快,但要是算上学习成本还快吗?我直接用 Enhancer 那种代码都不写的不行啊。

    而且近些年新语言、新框架这么多,ruby 写得爽这点已经竞争力下降很多了。
    bilibiliQQ
        85
    bilibiliQQ  
       2018-05-02 21:35:41 +08:00 via Android
    楼主的 youtube-index 怎么不更新了呢
    WildCat
        86
    WildCat  
       2018-05-02 21:52:40 +08:00   1
    @loading

    Rails 部署很简单,甚至比 PHP 一般的部署还容易。数量起来,配置 Capistrano 只需要大概三分钟,配置完之后,以后每次部署只需要 cap production deploy 这个命令就好了。

    如果你真的不想用 Capistrano 部署,还可以用普通的 Docker 部署。

    如果真的想最简单,还有 dokku 这样的工具可以部署小项目。



    @mentalidade
    @rockyou12

    Rails 国内生态确实有点不行,但是只是人气,项目质量来看是很不错的。比如 wechat-rails。跟其他语言框架的生态比,并不差。

    至于人气到底有多差,自己看看楼上有多少提到 Rails 的心里也许有个数。招聘来看似乎真的不算多。
    chengxiao
        87
    chengxiao  
       2018-05-03 06:32:18 +08:00
    Django 这感觉已经出活很快了
    再快也差不了多少了
    wuhanchu
        88
    wuhanchu  
       2018-05-03 10:00:20 +08:00
    python 的 eve 了解下。
    sammo
        89
    sammo  
       2018-05-03 15:45:41 +08:00
    @guoyuchuan 类似 Spring Roo ?
    zengxiangjun
        90
    zengxiangjun  
       2018-05-03 15:51:52 +08:00
    @chengxiao 如果你用过 Enhancer,应该不会这样评价,了解下吧: https://enhancer.io
    balbo
        91
    balbo  
       2018-05-03 16:01:42 +08:00
    @zengxiangjun Enhancer 做增删改查确实快
    realkenshinji
        92
    realkenshinji  
       2018-05-03 16:11:42 +08:00 via iPhone
    呃,nodejs 的 Loopback 完全可以满足楼主的要求
    nmgwddj
        93
    nmgwddj  
       2018-05-03 17:12:01 +08:00
    meteor
    asuraa
        94
    asuraa  
       2018-05-03 20:35:31 +08:00
    自己最熟的语言里面选一个框架。。
    0w0b
        95
    0w0b  
       2018-05-03 22:00:38 +08:00
    zdcin
        96
    zdcin  
       2018-05-24 14:31:46 +08:00
    我来安利个开发工具,http://www.listcode.cn 增删改查 代码生成器, 只需要提供数据库模型,前后端代码一键生成,支持 laravel,thinkphp,java,python flask tornado,nodejs,vue 等框架, 完成度高,翻页,多条件查询,外键编辑,输入检查都有了
    jimchen9999
        97
    jimchen9999  
       2018-12-17 06:59:24 +08:00
    asp.net core
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     915 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 21:45 PVG 05:45 LAX 13:45 JFK 16:45
    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