新系统的 API 后端开发语言选型

2019-08-01 17:48:10 +08:00
 qce7

是公司新的战略项目,预计有 2,3 个月的开发时间,后边会一直持续迭代。业务比较复杂,各种的业务逻辑,不过用户量短时间不会暴增 新项目后端前后端分离,只写 Api,考虑 PHP 写 Web Api 优势并不明显,并且目标是微服务化,考虑是否换语言 目前的 Option 有

开发团队都是 3 年以上的 PHPer,Java 也都懂点,Go 大家没深入了解不过名声在外。

请教下大佬们的意见,如果是你们这种情况你们怎么选?

9030 次点击
所在节点    程序员
72 条回复
zaul
2019-08-01 20:07:04 +08:00
php 是世界上最好的语言
yiyi11
2019-08-01 20:10:13 +08:00
微服务是现在也是未来=微服务还有很多的坑=或许你并不需要微服务。站在老板的立场,稳定是最好的。但是站在技术人的角度,挖坑才有产出。
mcfog
2019-08-01 20:15:23 +08:00
grpc 现在支持直接以 http 协议暴露,微服务用 go,前面 php 写胶水层,or 你们前端团队够骚让他们用 node 做胶水
version
2019-08-01 20:17:31 +08:00
php 一套撸就可以了,也别微服务那么标准了,3 年都是 crud 的多,他们对微服务理解不了,不好赶工,
拆分项目出来就好,例如订单模块,优惠券模块,库存模块,等 http 通信,也别 php 一套运行就好
zachlhb
2019-08-01 20:20:53 +08:00
用 python 吧
akira
2019-08-01 20:25:41 +08:00
开发团队都是 3 年以上的 PHPer,Java 也都懂点,Go 大家没深入了解不过名声在外。
------------------
先选团队熟悉的语言,然后才是选框架. 首选 1
amanbolatbalabek
2019-08-01 20:36:46 +08:00
要快的话用 postgREST,用 sql 写逻辑然后直接接个 SPA。逻辑在复杂也没问题。
a1274598858
2019-08-01 22:49:54 +08:00
别问。。问就是 Java
cabing
2019-08-01 22:59:30 +08:00
不管用啥语言,业务模块拆分成各种服务,提供 grpc 调用,不要耦合,不要单体。

可以先用 php 撸一套,快速开发,也不用加班啥的,别 996,后续量起来了,核心服务方便迁移都是产出,美滋滋。


首选 1 备选 2
Takamine
2019-08-01 23:50:16 +08:00
选 1 吧。
如果对 Java 只是懂点,那涉及到最初选型和设计架构等到后面转微服务感觉会挺坑的。
另外都拆微服务了,每一个子系统彼此独立,语言不怎么受局限了。
zgqq
2019-08-02 00:40:02 +08:00
spring boot 好点,问题好解决, 生态丰富
MonoLogueChi
2019-08-02 01:44:36 +08:00
推荐选熟悉的语言,如果确定压力比较大,建议直接上 Java,据我了解,一些公司是先 PHP 快速开发,让服务以最快的速度上线,业务量快上升到 PHP 瓶颈的时候,再用 Java 重构。

我个人还是推荐一下 .net core,性能不错,API 写起来很爽。大项目上表现怎么样我不清楚,我没写过大项目。如果不熟悉这个东西的话,就当我没说
xuanbg
2019-08-02 07:41:52 +08:00
都要上微服务了,还纠结个 P,用最熟悉的 PHP 先撸出来再说了。后面新项目换技术栈也是随便换的事情,根本就不会影响到已有的项目。
jorneyr
2019-08-02 08:09:13 +08:00
使用不熟悉的,2 个月都不够你们学习的,除非你们敢把 Hello World 用到项目上。
ytlm
2019-08-02 08:45:48 +08:00
openresty?
a852695
2019-08-02 09:03:31 +08:00
用 python ?
一周就开始上手搞
darknoll
2019-08-02 09:09:03 +08:00
选 2 和 3,你们行吗?
jingxyy
2019-08-02 09:10:42 +08:00
别问 问就是 golang 用到就爽到
kiwier
2019-08-02 09:13:19 +08:00
go+etcd 啊
zhang77555
2019-08-02 09:14:30 +08:00
看你们愿不愿意加班咯, 选不熟悉的技术体系,一定会遇到坑.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/588286

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX