如果我要开发一个客户端, 要求跨 Windows/Mac/ Linux /安卓/iOS 平台, 复用同一份底层逻辑代码, 那么 C++是不是唯一的选项?

2019-11-23 17:45:08 +08:00
 ybw
6719 次点击
所在节点    程序员
47 条回复
MasterMonkey
2019-11-23 20:40:59 +08:00
Cordova 怎么样?
另外 EletronJS 怎么样?
qazwsxkevin
2019-11-23 20:45:18 +08:00
@feelapi 请教,如果业务的具体逻辑实现用 cpp 开发,在 win 的平台下(不使用 WEB 的方式,WEB 在人力的成本投入其实不低吧?)用什么做 UI,衔接最好,成本最低,人也容易上手?
neoblackcap
2019-11-23 20:46:04 +08:00
@dosmlp 只要能编译成对应目标平台的,其实都可以。虽然很多人没有说 Java,但是我的确也看过不少基于 JVM 平台开发的软件,虽然那个不太能算自己跨平台。
如果对性能,交互要求很高的,的确是用 C++开发的比较多。可能还有其他用 Rust 啊,D-lang 啊。不过的确是用 C++的成功事例比较多。
neoblackcap
2019-11-23 20:47:26 +08:00
@across 其实写 rust 的,认同 rust 的,大多数也就是写 C++的那批人。rust 是可以说是 better c++了。
feelapi
2019-11-23 21:15:26 +08:00
@qazwsxkevin QT, WPF,MFC, 看你能找到什么样的人。
mfc 很古老,但是发布简单,开发比较慢,不好找人。
wpf 可以做的很漂亮,发布要注意一下。找人还好,可以做的很漂亮。
qt 比较简单,上手快,但是有坑不好填。主要是有熟练工还好。
heiheidewo
2019-11-23 21:36:25 +08:00
别问,问就是 C++
rome7054
2019-11-23 22:26:53 +08:00
不是,前面楼层连 golang 这种对 UI 支持不友好的有人提出来,js 没用过不评论,python 和 golang 用着还行,然鹅对 Android/iOS 支持那还是算了,既然复用同一份底层逻辑代码,且包含移动平台,说实话 C#其实是更好选择,Windows/Mac/ Linux 直接使用 dotnet core 用的很舒服,安卓 /iOS 可以用 Xamarin,配合隔壁热帖宇宙第一 IDE VS,而且比起 C++,C#写起来不能再舒服
Cbdy
2019-11-23 22:30:58 +08:00
@ybw 最可行的确实是 js,另外下架的原因是部分 app 用了私有的 API,并非所有 electron 应用都下架
shuangya
2019-11-23 22:58:21 +08:00
可以是可以,但是 C++后续维护难度……特别是稍微复杂点的应用,涉及到多端兼容……够你喝一壶的
beginor
2019-11-23 23:19:00 +08:00
可能 Xamarin + C# 才是最佳方案
lzihua
2019-11-23 23:31:17 +08:00
持续关注下
kwanzaa
2019-11-23 23:35:18 +08:00
Golang 它不香嗎?
yukinotech
2019-11-23 23:43:35 +08:00
@ybw 为什么?因为风控和合规的原因吗?
momocraft
2019-11-23 23:48:04 +08:00
什么叫底层逻辑, io 意义上还是 ddd 意义上
trait
2019-11-23 23:49:17 +08:00
@kwanzaa go 的主战场是服务端,别啥都无脑推,跨平台这种带尿瓶的就是弟弟
Ahri
2019-11-24 00:03:17 +08:00
TypeScript + React Native
xuanbg
2019-11-24 00:26:54 +08:00
WebApp 也是客户端呢
MonoLogueChi
2019-11-24 00:37:09 +08:00
关键是你是否需要 UI 界面,如果不需要 gui,选择很多
kwanzaa
2019-11-24 01:24:14 +08:00
@trait 我觉得你不打算好好说话。
mingl0280
2019-11-24 05:58:34 +08:00
是唯一选项。
如果功能较多的软件,做 webapp 的性能调优能把你做到怀疑人生,c 艹起码在有良好的编码规范的情况下不会太坑爹。

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

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

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

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

© 2021 V2EX