c++ go rust 谁更适合开发 嵌入式 Linux 上的 web 后台服务

21 天前
 xjhou00007

各位大佬,请教一下,准备在 3568 板子上开发部署一套 web 服务,前端用 nginx+h5(前端不是我写),后端开发 web 服务提供接口,c++,go,rust 选哪个开发比较好。

目前板子上有一套在跑的后台应用程序是用 c++写的,现在要加 web 服务功能,不想加到原来的应用程序里面,并且也想尝试学习一下其他的语言,看了一下 go 和 rust 的简单介绍,感觉上手应该不难,但是想了解一下上手哪个更合适。如果有能够方便开发 http server 和 http client 的成熟的框架和库最好了。

这套程序也就我一个人开发维护,不需要考虑团队协作。。。

3009 次点击
所在节点    Web Dev
37 条回复
zsj1029
21 天前
go 更简单,虽然 rust 占用更少
go 10mb vs rush 2MB
出活效率建议 go
helone
21 天前
如果就简单 crud 的话可以考虑 rust ,但是上手可能会复杂点,不过现在有 gpt 这种的有啥不会问就是了,go 的话就更简单点,上手更快
xjhou00007
21 天前
@zsj1029
@helone
系统内存还是比较盈余的,不考虑这个的话看来还是 go 更适合上手
多问一句,在 aarch64 linux 平台上部署 go 环境,以及交叉编译 go 程序会不会遇到很多坑
zsj1029
21 天前
@xjhou00007 go 的编译比 rust 简单多了,编译无脑一句 cgo=0 好像是,根本不用考虑兼容性
rust 跟 c 差不多,很多工具链,时间很长
zsj1029
21 天前
@xjhou00007 支持跨平台编译,总之很简答,win 上打包 arm x86 都可以
Donahue
21 天前
go 。rust 复杂得不行,设计目标也不是 web 服务
Donahue
21 天前
@xjhou00007 go 部署/交叉编译很简单 没坑
xjhou00007
21 天前
@zsj1029
@Donahue
明白了,感谢指点
xjhou00007
21 天前
不论这个需求功能开发的话,作为一个 c++后台开发,rust 有没有学习的必要,rust 和 go 谁的泛用性更好,未来更用的上呢
xjhou00007
21 天前
好像不能编辑主题哈
helone
21 天前
如果是 c++ 开发学习 rust 很有必要,c++写的东西 rust 能完全替代甚至更好,go 的话完全兴趣爱好,更偏 web 方面,而且有 gc 存在,偏底层的东西肯定做不了
bluearc
21 天前
@xjhou00007 #9 rust 肯定更泛用,但就你描述的需求我觉得 go 更好些;
adoal
21 天前
3568 跟零几到一几年的 X86 可以打个来回,不用特别考虑“嵌入式”,性能足够,技术选型时就当普通的 Linux 小主机好了。
victorc
21 天前
看你内存大小,如果只有几十 M ,当然用 rust
用大模型帮忙写,分分钟搞定
IvanLi127
21 天前
我感觉,只是感觉,rust 更适合嵌入式,也更适合 C++ 选手。 如果项目不复杂的话,rust 已经能轻松胜任,复杂的话我就不知道啥情况了。
mightybruce
21 天前
嵌入式 web 基本都是 C, C++ , 这种不是多的很。何必找一些不成熟的项目。
这种项目首先要考虑的就是资源占用,占用大的一概不考虑了。

https://github.com/civetweb/civetweb
yplam
21 天前
要考虑跟 c++的交互方式,如果要用到 cgo 的话建议还是 rust 或者直接 c++
jqknono
21 天前
这是嵌入式啊, web 技术栈都是其次, 这也无脑推 go 吗, 常见的是 c/c++. 新的一点大家推 rust, 我不了解这个.
嵌入式一般都是启动时提前规划好内存怎么用的. 如果这个板子根本没什么定制启动定制软硬件, 那就是一个普通的 linux 了, 通用 linux 开发后台那才是优选 go
starlion
21 天前
只是 http server ,http client 可以考虑下 Go ,Go 语言都自带的。另外 Go 的 web 应用框架 Gin 、Fiber 也有这些功能。

不过嵌入式,是不是内存比较小 (2G ?),没搞过嵌入式,还是看你的服务器配置,业务上功能需求,业务量,开发效率等综合考虑
815979670
21 天前
建议选 go 只要避免 cgo 交叉编译没什么坑

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

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

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

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

© 2021 V2EX