现在还有多少人做 C++跨平台移动开发?

2019 年 11 月 23 日
 cyxcw11
我们部门现在想用 C++做跨平台移动开发,底层业务逻辑用 C++写,上层 UI 源生。
大家有类似的经验么?有多少坑?
13632 次点击
所在节点    C++
64 条回复
hkitdog
2019 年 11 月 23 日
有什么好处吗
thomaspaine
2019 年 11 月 23 日
楼主可以考虑下 Qt ?
lniwn
2019 年 11 月 23 日
真的没有很大优势,要说某些核心模块用 C++开发还是可以的,整个底层框架全部用 C++开发,风险怕是比较高,毕竟企业做一款新产品,第一目标是尽快上线。
cyxcw11
2019 年 11 月 23 日
就是想不重复造轮子呗,逻辑写一次,然后在两个平台用
cyxcw11
2019 年 11 月 23 日
QT 能跨安卓 ios 开发吗?
missdeer
2019 年 11 月 23 日
进现在这公司 4 年半就是一直做这个,这项目已经存在不知道多少年了,就是你说的这种形式,我做下面的 C++部分。

个人觉得坑主要在 C++和 UI 层的接口很难设计,既要好用,又要高效,有点像鱼与熊掌。胶水代码又会增加维护难度。
然后是权责容易分不清,有些事情既也可底层 C++做,也可以上层 UI 做,会互相推诿。
再就是对 C++人员要求略高,有时候需要了解各平台的细节,比如 socket,各平台就算是相同名字的 API,行为上也有差异,而且现在 C++不好招人。
最后,感觉缺一个好用的跨平台构建工具,我们之前用的 scons,用的 python 语法,总感觉不好用,后来收购合并了另一个产品,有一部分用了 cmake,情况更复杂了。
joshua7v
2019 年 11 月 23 日
Qt 可以跨安卓 iOS 的
甚至还可以 wasm
基于 Qt 的 Felgo 也可以顺便看看
missdeer
2019 年 11 月 23 日
Qt 可以跨 Android,iOS,但不推荐做产品(自己玩票性质的可以试试。理由:
1. 界面不够 native look feel,而且基本上至少移动端和桌面端是要分别做的,有这精力直接上 native 开发不是更好?
2. 很多东西最终还是要用 native 的代码实现,比如 mac/ios 用 objc,android 用 java,然后自己加胶水代码调用
3. 最终生成文件体积大很多,感觉不太好
4. license 商业使用需要购买,大概一年 3w 多人民币
5. Qt 这个框架大毛病没有,项目规模稍微大点后就会发现小 bug 不断,如果你没发现 Qt 的 bug 说明你要么不细心要么水平臭
rb6221
2019 年 11 月 23 日
早些年大厂有人这么搞,不过现在由于原生的支持越来越强大,基本上没这个必要了
github.com/williamwen1986/Luakit 之前鹅厂搞的这个,用 lua 桥接写的你可以参考一下
across
2019 年 11 月 23 日
底层业务逻辑用 C++写 ???
一般是追求效率的算法、或特定功能模块才需要 C++吧····
不然 C++开发效率哪比得上原生语言。
cyxcw11
2019 年 11 月 23 日
我感觉 C++人员要求高,难招人,这个一个问题就已经够难受了的
FrankHB
2019 年 11 月 23 日
不扯 UI,一切好说。摊上几个奇葩的平台,基本上你不用 C++也没什么备胎能选。原生?能接受哪天突然发现某个原生 API 不够用或者政策出问题不给用了缺胳膊少腿也行,否则省省吧。
UI 的话,Web 的实现本身依赖 C++。别的你要是自己没把握撸整个平台的话就算了吧。
FrankHB
2019 年 11 月 23 日
@missdeer Qt 这个项目技术上最大的毛病和其它类似 C++ 项目的毛病一样,就是把用户搞傻了,框架设计人员自己本事又不到家,以至于各种选型都是次等货色,还居然被社区稀里糊涂地接受了。
(什么 moc 就不婊了,那啥 qmake 啊 qbs 折腾了多少时间又滚回 cmake 这种半吊子……不安分老实 autocrap+make,或者搞个类似 xmake 的会死?)
而且基本上 Qt 的用户是没本事推翻 Qt 框架设计内部缺陷和拾人牙慧的问题的。小 bug 多也很自然,因为就没几个有本事一开始就尽量避免小 bug 的开发者有耐心对付这个陈年破烂。
然后不用 Qt 的 C++用户某种意义上还分裂了……(虽然这主要不是技术问题。)
coloz
2019 年 11 月 23 日
C++移动端,貌似就 QT 吧?但 QT 又不如其他方案好用,目前也没听说哪个公司用 QT 开发移动端 app。从招人的角度看,java、oc 或者混合开发的人大把,公司如果选 QT/c++开发,估计很难找到合适的人。
unifier
2019 年 11 月 23 日
你提的这个方案甚至还不如 J2ObjC 靠谱,至少这个感觉半死不活的项目目前还有人在维护
iugo
2019 年 11 月 23 日
举个例子, iOS 华为商城 App, 一些商品的购买按钮是跳转到微信小程序.
damngood
2019 年 11 月 23 日
可以参考 dropbox 最近的一篇 blog
讲为什么他们不再继续 c++ 跨平台的方案了
crayygy
2019 年 11 月 23 日
我们就是这么干的,我做的两个项目都是,一个已经十几年了,另一个五六年了。我自己刚做两三年,这种模式有好有坏,要有人能 hold 住才行,说白了就是要有大佬撑腰壮胆
crayygy
2019 年 11 月 23 日
@missdeer 可以考虑 jinja2
cyxcw11
2019 年 11 月 23 日
@crayygy 有没有新的项目还采用这种方案了?
是因为老项目没法回头了才继续采用的吧?

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

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

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

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

© 2021 V2EX