helloword001
V2EX  ›  PHP

Java , PHP , Go,哪种语言和框架更适合开发 API 接口?

  •  
  •   helloword001 · Aug 7, 2022 · 16681 views
    This topic created in 1551 days ago, the information mentioned may be changed or developed.
    打算做个 APP ,请教一下各位大神,Java ,PHP ,Go ,哪种语言和框架更适合开发 APP 的 API 接口?请各位大神赐教?
    Supplement 1  ·  Aug 8, 2022

    非常感谢大家的建议,我的本质工作是一个前端,之前自学Python用Django REST framework写过一些小说类APP的API且上线运行良好。

    综合一下大家的两个方案如下

    • Go + go-zero
    • PHP + Laravel
    129 replies  •  2022-08-31 18:21:47 +08:00
    1  2  
    ❮ ❯
    meteor957
    meteor957
    Aug 8, 2022
    101
    nodejs 对 json 很友好
    miniwade514
    miniwade514
    Aug 8, 2022
    102
    好久没在热榜看到这种纯粹讨论技术的帖子了。
    kinge
    kinge
    Aug 8, 2022
    103
    天下武功为快不破,当然是 php
    di1012
    di1012
    Aug 8, 2022
    104
    .net core 6
    kalman03
    kalman03
    Aug 8, 2022
    105
    若有需要,我愿意跟楼主合作,提供稳定可靠的 Java 服务端,额,仅限副业项目。
    cbasil
    cbasil
    Aug 8, 2022
    106
    别的不敢说,php 的数组独步天下,你看 go 什么切片 结构体 map 啥的,哪个有 php 数组好用,别给我扯什么用 go 快啥的,加上 db 后能有多大区别。php 写接口多块啊,写完有大把时间摸鱼不好吗?
    flyqie
    flyqie
    Aug 8, 2022 via Android
    107
    @bthulu #66 #97

    web hosting / virtual host (web)
    flyqie
    flyqie
    Aug 8, 2022 via Android
    108
    @buxudashi #15

    不过多考虑性能等因素,仅看最低需求的话。

    swoole 需要装独立的扩展。

    workman 在这方面好一些。

    我曾经把这俩混着用,现在想想都觉得奇葩。
    gongquanlin
    gongquanlin
    Aug 8, 2022❤️1
    109
    php 简单,没有类型,开发速度极快,但是没有 dto 之类的约束,最后写出来的代码如果没有文档,根本记不住这个 body 到底需要哪些对象、数组;但是例如 laravel 之类的框架开发极爽,Cache 、Storage 之类的,都给封装好了,直接用

    java 开发规范,但是太 TM 规范了,老麻麻的臭袜子,又臭又长,极致复杂的 maven 依赖管理,entity 、dto 、bo 、vo 、乱七八糟 o 不说,写个接口要先写 IService ,serviceImpl ,然后写 Mapper.java ,Mapper.xml ,才能走通,没有代码生成器,写一个增删改查极其恶心;但是生态好,各种 SDK 、语言、优先适配 Java ,各种服务优先适配 java 。有复杂的规范约束,只需要代码风格再进行一下约束,大家写出来的代码都差不多可以用

    go 对数据类型要求严格,如果想按照 laravel 或者 spring 的 ioc 思想开发,极其恶心,想向上对接一系列接口,报文返回格式统一,但是 data 可能是 array 可能是 object 的情况下,要写一个中间件,就需要各种反射,工具包匮乏,比较 laravel 的 Cache 封装 redis ,或者 java 的 jedis ,go 的各种 redis 包用起来都反人类一样难用。但是速度快,部署极其容易,除非涉及到 sqlite 的时候打 linux 、windows 、macos 包可能有点麻烦(可以用 docker 部署打包环境),打包出来就是二进制环境,天然的面向云原生开发,函数式编程简化了非常多开发思想,开发起来心智负担极低

    如果需要对业务快速上线、试错,io 需求多,可以优先考虑 php(laravel 框架)
    如果需要大规模部署,微服务,服务器资源丰富,可以考虑 springboot 、springcloud 之流
    如果需要跨 os 部署,客户端部署、长连接,可以选择 go
    brader
    brader
    Aug 8, 2022
    110
    如果你用 PHP 的话,比较多人用 ThinkPHP 、laravel 这两个框架
    noyidoit
    noyidoit
    Aug 8, 2022
    111
    @bthulu 主要是你们公司没人熟悉...你说的这些丢给我 10 分钟内就能搞定
    gaifanking
    gaifanking
    Aug 8, 2022
    112
    java/kotlin : vert.x
    go : gin
    js : nodejs
    Twnysta
    Twnysta
    Aug 8, 2022
    113
    @helloword001 这个要搭配 laravel 啊,实际上 laravel 搭配 spatie/laravel-query-builder 超级快
    lixon166
    lixon166
    Aug 8, 2022
    114
    no api 不是最好么,一个 txt 一个 api
    goddoogasidivil
    goddoogasidivil
    Aug 8, 2022
    115
    node.js 一把梭
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Aug 8, 2022
    116
    @jjshare123 +1 ,google 明明给 go 定的目标是得到一部分 C 语言的市场,而明显 C 语言明显不是用来也不是适合写 API 业务的常见语言吧
    kran
    kran
    Aug 8, 2022 via Android
    117
    好家伙,直呼好家伙,append 里的俩推荐真是棒极了
    LINAICAI
    LINAICAI
    Aug 8, 2022
    118
    java,springboot
    QlanQ
    QlanQ
    Aug 8, 2022
    119
    @bthulu 你这编译安装。。。。。所以可能你还是对服务器不太熟悉,yum/apt 或者 docker 都可以,感觉 jdk 也可以用 apt/yum 安装吧,也可以用 docker 吧,
    原来 Java 部署都是手动复制 jdk 解压,然后设置 JAVA_HOME 的呀,Java 这块我确实接触的少
    fang2hou
    fang2hou
    Aug 9, 2022
    120
    虽然我总体来说比较喜欢写 Go, 但还是推举 Java. 不是 Java 有多好, 只是 Spring 生态实在是过于成熟了, 网上资料也多, 基本遇不到谷歌之后解决不了的问题.
    bthulu
    bthulu
    Aug 9, 2022
    121
    @QlanQ 也能 apt 安装, 只不过我司用的是魔改过的 jdk, apt 上没有, 只能复制解压安装.
    IIInsomnia
    IIInsomnia
    Aug 9, 2022
    122
    Go + yiigo + chi
    CantSee
    CantSee
    Aug 9, 2022 via iPhone
    123
    Python 快,简单方法,性能拉,Java 可维护性好太重量级了
    MoozLee
    MoozLee
    Aug 9, 2022
    124
    原本是前端的话,直接 nodejs 啊,node+Nest.js
    yuhaotjutwt
    yuhaotjutwt
    Aug 9, 2022
    125
    @helloword001 看看我的框架:lovephp,不过是全栈框架,你要是做 api 的话,很多功能也用不到
    mmdsun
    mmdsun
    Aug 9, 2022
    126
    Java 和 C#
    spring boot + jpa 和 .net core api + ef core
    go 不适合写业务代码,api 也可以写但不推荐。
    putyy
    putyy
    Aug 23, 2022
    127
    写 api 都差不多,不推荐 java ,go 、php 框架一大把, php 推荐 hyperf
    heraldboy
    heraldboy
    Aug 28, 2022
    128
    @bthulu Php 环境我们磨合了一段时间,现在基本不用管了,复制一份新建个容器就可以了。
    xiaoshouchen
    xiaoshouchen
    Aug 31, 2022
    129
    推荐 DreamWaver 和 FrontPage
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5467 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 03:38 · PVG 11:38 · LAX 19:38 · JFK 22:38
    ♥ Do have faith in what you're doing.