据说 NTQQ 桌面版是 Electron,那移动版是什么开发的呢?

4 天前
 NewYear
很多软件的桌面端都使用 Electron ,但我搜了很久,却几乎没人提到他们的手机端是用什么开发的。Electron 是基于 Chromium 和 node.js 的,这俩玩意至少也能在安卓运行,为何却不支持手机端呢。

例如 NTQQ 号称大一统,我估摸着意思应该是开放环境是统一的?或者当中用到的类、库是统一的?或者干脆就是一个项目?

翻阅了很久,网页技术跨平台基本上都推荐 Electron ,好吧我也认同毕竟用的软件太多了,但是!移动端都用什么呢?毕竟主流软件都是有桌面端和手机端的,但大家似乎都闭口不言了(就像有什么隐秘,大家默契的选择了不告诉别人)。

我想问的是,桌面端跨平台用 Electron 已经够了,但桌面已经写了一套,没理由不把各种代码共享给手机端吧,这样手机端开发起来就不会有什么差异了(逻辑、数据)。

所以如何在有了 Electron 桌面端项目,尽可能用这套代码去开发手机端(移动端)呢?国内这么多软件,大家普遍采用什么方案呢?

这里不聊全平台跨平台(已经看到了大部分人会推荐 Flutter),这里只聊 Electron 的移动端解决方案。
1667 次点击
所在节点    问与答
16 条回复
sugarkeek
4 天前
留点岗位给移动端吧🥹
fgt1t5y
4 天前
手机版还是原生的吧,当然也有挺多 H5 的部分。
dreamk
4 天前
ios 限制使用除自家外的浏览器内核吧,所以 electron 不能发布到 ios 上。如果是 react 写的,可以迁移到 rn ,逻辑全部复用就行了
但 js[桥接原生模块]( https://github.com/redbadger/crux)会有性能问题
fuzzsh
4 天前
腾讯有文章透露过 QQNT 的技术框架,搜看下

iOS Android 还是用原生来着,就 windows macOS linux 用了 electron 做渲染
NewYear
3 天前
@sugarkeek
哈哈,不至于,Flutter 已经出来了几年了,原生跨平台桌面端+移动端+Web 端。

@fgt1t5y
H5 一般用什么解决方案呢,目前知道的 uniapp 之类的听说 bug 多多

@dreamk
RN 用的普遍吗,好像现在能跨平台手机+桌面的都不怎么好,bug 多。。。。2024 年目前各种都是推荐 Flutter 了
NewYear
3 天前
@fuzzsh

原来如此,一直期待着简单点,让我等也玩一玩,哈哈,原生的难搞难搞。看来 Flutter 才是真的做到了比较高的程度,现在普遍都推这个。
jim9606
3 天前
QQNT 的大一统是为了桌面平台的大一统,可以方便支持各种国产 linux 和 WoA ,老 QQ 原本深度耦合 MFC ,后逐步迁移到自研 Hummer 框架,跨平台不那么容易。
至于手机桌面统一路线那就不见得很有必要了,毕竟交互 UI 啥的本来就要写两套的,强行统一并不能减少维护量还要付不小的迁移代价。
这跟生于移动端的平台不一样,后有桌面端的应用会选择尽量沿用移动端的路线,一是从零开始不存在迁移成本之说,而且沿用路线可以直接调原有的人力和流程去做,不用费劲重新组团队。
实际上 QQNT 相比老版的好处还没体现出来,虽然我个人偏好这个新架构客户端,但不否认其性能和功能在短期内都不会超过老版,我也没少听人嫌弃这个新版。
Donaldo
3 天前
根据我用着的手感,我估计也不是原生的。。就和微信比一比就知道了,qq 的操作总感觉比触摸慢半拍。
NewYear
3 天前
@jim9606

我也讨厌这个新版,手机版已经打算退回 8.9.X 了,原因是 9.0 开始每天会把各种图标标记上红点(未读),必须每天全部点一遍才能消失,逼死强迫症,强迫“点广告”。
电脑版不兼容旧版,管理消息也没有以前那么完整的功能。。。。(比如备份聊天记录成文件并可以恢复)

可能是受限于 KPI 、盈利的压力,但这些负面特性基本上是赶人走了……(如果继续这样,毫不意外我会彻底不用 QQ ,目前我还是 QQ VIP )

架构上的优秀倒没有体验,毕竟直接放弃了,只是作为开发兴趣想了解一下。。这样自己也能偷懒开发点有趣的东西。。。我所认为的跨平台是有的逻辑只要开发一次就可以了,不用写 2 次代码,也避免了逻辑上的差异/bug 。


@Donaldo
也不知道是什么开发的,目前没找到资料确认是什么开发的。。。打开 APK 看了下,也没看懂,好像是原生的。
jim9606
3 天前
@NewYear
好写代码可以是指人好招好培训,你觉得招个 c++客户端程序和 web 前端程序哪个更容易。
真要偷懒只写一遍那就把移动版的界面拉长硬搬到桌面上,我们一般称这种为暴力移植。
你说的那些新版的问题就是迁移成本。
自己小打小闹肯定考虑开源方案做基础吧,反正你也不可能有精力自己写一套 UI 轮子,就算有,大概率不如现成的好用。这跟 QQ 当年的行业情况不一样,那时自造轮子算是基础需求。
ysc3839
3 天前
@jim9606 没记错的话,QQ 使用 MFC 已经是 2008 年之前的事了,从 QQ 2009 开始改用全新研发的“TXGuiFoundation”,应该已经不依赖 MFC 了。
现在换掉 TXGuiFoundation ,应该是因为懂 Windows 开发的人越来越少,维护成本过高,且 TXGuiFoundation 似乎一直不支持 GPU 加速,界面复杂度提升上去后性能越来越差。
ysc3839
3 天前
Electron 不支持移动端可能是因为进程模型等不一样?
Electron 是先启动 Node.js ,执行入口 js 脚本,然后 js 脚本中可以选择创建 Chromium 窗口。
但是 Android 是启动应用中的一个 Activity ,不好对接 Electron 原本的那种流程。
jeesk
3 天前
手机 qq 是原生加 h5 。 比如个人资料,扫描后就是跳转 就是 h5 页面。
NewYear
2 天前
@ysc3839

Chromium 有移动版啊,理论上不应该有问题的。
ysc3839
2 天前
@NewYear 移动版和桌面版差异过大,不好移植。Chromium Android 至今没法避免网页把整个浏览器卡住,而这个特性在桌面版上大概 16 年前的 2008 年就有了。
NewYear
2 天前
@ysc3839

好吧,不过我仍然是觉得有比没有好。。。。

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

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

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

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

© 2021 V2EX