领导终于开始考虑使用 html5 来代替 mfc 写桌面版客户端了……

2016-09-06 09:06:57 +08:00
 harry890829

公司客户端使用 mfc 编写,主要使用环境在 xp 上,所以现在还是虚拟机 xp+vc6.0 开发

现在终于说通领导开始考虑 html5 来代替 mfc 写客户端了,领导让我写一封邮件来说明 html5 和 mfc 各自的优势神马的

我觉得 mfc 一点优势都没有啊,根本被 html5 碾压啊

好吧,抱怨完了,我就想问下,怎么写邮件能够让领导赶紧拍板改成 html5 ,顺便问下 html5 的优势有些什么,我对 html5 不太熟……

20758 次点击
所在节点    问与答
129 条回复
harry890829
2016-09-07 09:09:27 +08:00
@murmur 问题是根本没有底层的需求啊……
@eddiechen 抱歉,因为之前一直听说 html5 的各种优势,好多桌面应用也是这么写的,一直非常憧憬
@Zzzzzzzzz 我本来也是这种想法,现在这个 mfc 项目,无非就是 socket 收发点报文,生成写报表,还有本地 sqlite ,感觉要是改成页面形式, sqlite 也没有什么存在的意义了
@xjp 好的,我晚点会让网站组那边给我个测试 demo 进行测试
@youxiachai 抱歉我之前描述可能有问题,本意就是用网站来解决复杂的界面绘制
@mlhorizon 难道是在给自己挖坑么
@gaodeng 太感谢了,我确实需要这种例子,不过公司前辈也和我提过,安装包肯定是几十 m 以上的,没有办法,目前我这边 mfc 项目,释放开始 29mb ,安装包 9mb
murmur
2016-09-07 09:18:13 +08:00
@zjqzxc .net 如果你是 N 卡的话装驱动不就给你装一份
harry890829
2016-09-07 09:20:02 +08:00
@doubleflower mfc 呢,可能我用得少吧, mfc 的有点算是手册全,问题解决迅速,从底层到界面显示自己全都完成,不需要另外支持,但是界面部分真的太恶心了……
@bydmm 多谢提供,我拿小本本都记下来
@alqaz 怎么说呢,公司自己有网站组,这样相当于把界面全都交出去了,不需要我自己学
@Chrisplus 业务需求相关,这个两边分析能更详细一点么?
@binux 嗯嗯,其实我就是这个意思……不过因为没有结合使用过,所以不知道具体实现如何?
@sgissb1 哎,你说的这些吧……也许是我表达有问题,我不是把 mfc 和 h5 比较,而是希望把界面的绘制全部交给 h5 (这里说的也不准确,交给网页),我说的比较,是 mfc 在绘制界面和 h5 (同上)比较,并且整体项目并不会收到影响
@zhqy 感觉这是一个梗……
@wshcdr 支持是支持,我现在不是分析 mfc 和 h5 ,而是在我现有需求中,把 mfc 编写界面替换成 h5 (网页)是否可行,而不是比较这两个东西的好坏
@Radeon
@zjqzxc
@xiaoc19
谢谢几位,我去看看这个方案怎么操作
@cosven 卡的不要不要的,是因为壳?还是网页本身的原因呢……
@garrydzeng 嗯嗯,麻烦了
@srlp qml 以前确实没有听说过,晚点我去看看
@finian 多谢,公司禁止了视频,晚点我回家看看吧
zjqzxc
2016-09-07 09:30:17 +08:00
@xiaoc19 我就是用的离线安装包

@murmur 是 N 卡,装的时候手动把.net 给取消掉,会导致那个 GeForce Experience 安装失败,但驱动本身没事儿。不取消的时候会在这一步卡特别长时间,后来就吸取教训了,只要不是必须要用,或者睡觉前,绝对不装.net 4 。后来就放弃 Win7 了。
wy315700
2016-09-07 09:31:58 +08:00
原生应用还是用 WTL 吧
zhouzm
2016-09-07 09:53:20 +08:00
技术上肯定是完全可行的,性能上也不用太担心,如果你需要实现的界面效果,使用桌面浏览器会卡的话,那用 mfc 去实现同样效果并且很流畅的代价肯定不低。

你现在需要做的是,仔细研究一下 nw.js lts ,看看它提供的 api 是否能满足你要实现的桌面客户端的底层功能需求,如果能满足,那么接下来就可以尝试直接用 nw.js 了,这条路要省事儿得多。

如果 nw.js 的 api 无法满足你的需求,那么目前唯一能做的选择就是自己使用 cef 内核实现一个类似于 nw.js 的开发框架,具体怎么实现可以参考一下 cef 提供的 cefclient 例子,并不是很难,关键点就是解决好原生代码如何与 v8 引擎交互。

如果你的客户端只是需要把界面做得华丽好看,交互性不强,那么实现起来会比较容易,花的时间也少,只要模仿 nw.js 实现几个必要的 api 接口,界面 html 部分交给你公司的网站组,客户端的其他功能代码全部用 mfc 实现。

如果客户端的交互性要求很高,交互方式更偏向于传统桌面程序,那么你要做的工作就多了,并且难度也不小,你需要自己用 mfc 实现一个类似于 nw.js/Electron 的开发框架,在 SDK 的选择上,你只能选择 cef 3.2623.1401 build 版本(因为之后的版本都不再支持 xp)
harry890829
2016-09-07 10:02:43 +08:00
@zhouzm 太感谢了,我晚点和网站组商量一下,看看是否能够出个 demo 进行测试
adslxyz
2016-09-07 10:41:46 +08:00
主要使用环境在 xp 上,就不要想那么多了,老老实实用 mfc 写,别自己找麻烦。
cosven
2016-09-07 20:58:40 +08:00
如果对 HTML5 不是很熟的话,网页写出来可能存在性能问题。

举个例子:比如写了个 DOM 元素的动画,在浏览器中可能不会卡,但是如果把这个网页放在你的壳里面去,那这个动画就可能会有点卡,甚至很卡。

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

https://ex.noerr.eu.org/t/304194

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

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

© 2021 V2EX