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

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

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

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

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

8797 次点击
所在节点    程序员
72 条回复
dongisking
2019-08-01 17:50:13 +08:00
首选 1,备选 2

要是同事里面 go 没深入就用了,产品出不来就锅大了
darkweb
2019-08-01 17:55:30 +08:00
首选 2,备选 3
kuaner
2019-08-01 17:56:47 +08:00
考虑到 2-3 月的开发周期,建议从拿手的语言选
xpresslink
2019-08-01 18:00:10 +08:00
本来建议选 2,企业级开发 java 的生态资源比较全面丰富,各种现成的中间件拿来就用。
但是你们的技术栈是屁还是屁又只有 2/3 个月时间,那就没有可想的了,只能 1 了。
xsir2020
2019-08-01 18:00:13 +08:00
首选 1 备选 1 其次还是 1

设计的时候,记得参考下微软的 restful 标准指南 :)
还没搞完
http://note.youdao.com/noteshare?id=2796e930e0847fa4a08f66e1da709a50
rockyou12
2019-08-01 18:00:49 +08:00
不用 go 就行了,go 要自己搭很多架子的,php 和 java 起码轮子多
luozic
2019-08-01 18:34:13 +08:00
go 轮子要造不少,现在开源的完整 solution 太少
janxin
2019-08-01 18:44:06 +08:00
首选 1 啊,多好
Rorysky
2019-08-01 18:45:41 +08:00
用最熟悉的,谁还不是图灵完备?
PDX
2019-08-01 18:56:22 +08:00
vert.x
Leigg
2019-08-01 19:34:56 +08:00
你是小 leader 吗? 如果要选择 go,还得说服团队上级吧?而且建议至少有一个人对 go 是熟悉的,不然从方案选择上来看不够稳。
crayygy
2019-08-01 19:41:18 +08:00
选 2,然后用 Kotlin
iPhoneXI
2019-08-01 19:45:01 +08:00
1,2 差不多吧
3 最后选项
janus77
2019-08-01 19:54:23 +08:00
.NET 来一波?
geekc3t
2019-08-01 19:59:17 +08:00
elixir?
yejinmo
2019-08-01 20:00:01 +08:00
.Net Core 吧
silverfox
2019-08-01 20:01:25 +08:00
选择大家都熟悉的技术。

个人认为,相比于各种编程语言,合理定义各个服务的业务边界,为之后留下扩展或者重构的空间更重要。

微服务架构下编程语言的重要性并没有那么高,先要满足度量、日志、调用链的标准化要求。在此基础上如果有更丰富的功能当然更好。

值得注意的是,API 定义不要暴露出语言或者某种框架的特性。那么在 API Gateway 的支持下,把一部分功能以更合适的语言重构成单独的服务并不是一件很难的事情。
falcon05
2019-08-01 20:02:07 +08:00
1/2/3,选 3 就天天加班吧
yiyi11
2019-08-01 20:04:32 +08:00
根据你的目标的话,2 是最理想的选择。
但是根据你的工期,1 是最现实的选择。
springboot+springcloud+生态,提供了大量的开箱即用的功能,但是提供了很多,封装的东西就更多。什么都是“约定大于配置”前提是使用者知道这些“约定”--也就是说需要接触过 sprng 的生态。所以这是需要一定时间调研的。
当然好处就是,如果最终目标是微服务化,那么以后需要的东西,官方都提供了开箱即用的解决方案。
ben1024
2019-08-01 20:05:08 +08:00
能选就选 PHP,节省下来的时间用来怎么摸鱼充电都行,
除非公司整体转型强制要求

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

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

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

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

© 2021 V2EX