V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
helloword001
V2EX  ›  PHP

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

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

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

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

    swoole 需要装独立的扩展。

    workman 在这方面好一些。

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