很多人没听过,但它一直藏在我们身边
作为天天跟各种软件打交道的游戏自媒体人,我最近半年跟很多刚毕业的计算机专业学生聊天,发现十个里面有九个没听过client mfc application,甚至连MFC是什么都不知道,在这个人人都在聊AI大模型、React、云原生的时代,这个诞生了近30年的老技术产物,早就被踢出了主流技术教程的目录,很多人默认它早就被埋进了软件史的垃圾堆。但真的是这样吗?上个月我去广州找一个做游戏汉化的老网友阿凯拿资源,在他的工作室里我就看到了好几个正在运行的client mfc application:一个是批量导出游戏文本的翻译工具,一个是老游戏存档格式转换器,还有一个是给老DOS游戏做兼容性适配的启动器,阿凯做汉化快20年了,我问他为什么不用现在新出的在线翻译工具或者Python写的脚本,他笑着给我算了一笔账:我这些工具都是处理本地游戏文件的,新的在线工具要上传,几十兆的游戏资源传半天不说,还怕泄露未发布的汉化内容,这个MFC写的客户端,整个才不到5MB,打开就能用,所有操作都在本地,从Win7到最新的Win11都能跑,我十几年前写的,现在没出过一次bug,为什么要换?

不止是汉化圈,你翻一翻国内三大妈、游侠网这些老游戏论坛,随便搜一下“老游戏修改器”“MOD管理器”,跳出来的很多工具都是client mfc application:十几年前玩家做的《暗黑破坏神2》存档修改器、《仙剑奇侠传》剧情编辑器、《三国志》MOD制作工具,大多都是MFC写的单文件exe,下了就能用,没有安装包,没有捆绑广告,作者早就停更了,但放在今天的新系统上照样能用,很多人觉得client mfc application消失了,其实它只是藏在了你不常注意的角落:游戏圈的老工具、工厂的工控机、银行的老终端、设计院的绘图插件,到处都有它的身影,只是普通用户不用接触开发,很少注意到它而已。
从工业到游戏圈,老工具反而成了降本法宝
我之前对client mfc application的印象也停留在“老技术”,直到今年看了最新的行业报告才发现,这个老玩意现在反而成了香饽饽,2024年4月工信部发布的《工业软件提质增效行动方案》里,专门提到鼓励中小企业对现有老软件进行迭代改造,降低替换成本,而赛迪顾问今年上半年出的《2024年中国工业软件存量改造白皮书》里显示,国内中小制造企业在用的生产控制类软件中,有42%都是基于MFC开发的client mfc application,其中超过60%已经稳定运行了10年以上,替换成本平均是改造成本的7倍,所以绝大多数企业都选择改造而不是换掉它。不光是工业领域,游戏圈也一样,我认识的一个小独立游戏团队,今年做一款复古像素风格的单机游戏,启动器本来想找外包用Electron做,报价要8万,还不说做出来启动器就要一百多兆,打开占几百M内存,后来团队里一个老程序员说,我会写MFC,半个月就做好了,整个启动器才3MB,带版本更新、MOD加载功能,打开占内存不到30M,总共花了不到一万块,现在用的好好的,玩家下载游戏,光是启动器就比Electron做的少下一百多兆,好评一片。
我之前采访东莞一个做锂电设备的厂长,他给我讲过一件真事:去年他们厂本来打算把所有生产线的参数调试软件全换成新的工业互联网平台配套软件,报价140多万,换了之后所有老工人都要重新培训,旧的历史数据还要转格式,还要求所有工控机全部换成新的,又是一笔几十万的支出,后来厂里的老工程师老王,牵头把原来自己写的client mfc application改了改,加了个数据上传的模块,总共花了不到两万块,更关键的是,工厂停电断网的时候,新的SaaS软件根本没法用,连本地调试都做不了,老王这个MFC写的客户端全本地运行,只要有备用发电机就能干活,从来不会耽误生产,就这一点,全厂上下没人说换软件好,都认这个老工具。
为什么会这样?很多人喷MFC开发繁琐、语法老旧,但是client mfc application天生就是原生Windows应用,运行效率拉满,对硬件要求极低,几MB就能实现复杂功能,兼容性从十几年前的XP到最新的Win11全覆盖,这些优点放到今天,恰恰是很多场景下刚需,新框架做出来的软件功能多、好看,但是动辄几百兆,占几个G内存,旧硬件根本跑不动,对于不需要云功能、只需要本地稳定运行的工具来说,完全是冗余,client mfc application没有那些花里胡哨的东西,就是稳、快、小,刚好戳中了很多场景的痛点。
个人开发者的避风港,不用卷新技术也能解决问题
现在整个互联网都在贩卖技术焦虑:30岁不学AI就会被淘汰,不会新框架就找不到工作,好像不用最新的技术写代码就是原罪,但client mfc application告诉我们,能解决问题的技术,从来不会过时,很多时候不用卷新技术,照样能活得很好。我逛Github和国内的码云,现在还有很多个人开发者上传自己写的client mfc application小工具,从游戏修改器到文件整理工具,从截图工具到下载器,全是几MB的单文件,免费无广告,下了就能用,我自己电脑上用了五年的截图工具,就是一个俄罗斯开发者用MFC写的,整个安装包才1.2MB,打开占内存不到10M,功能比我之前下的某个Electron做的国产截图工具全多了,那个国产工具安装包快100MB,打开占200多M内存,还加了弹窗广告和新闻推送,我用了一次就删了,换回了这个老MFC工具。
之前我认识一个做游戏工具的独立开发者,靠卖自己写的MFC做的回合制游戏多开器,一个卖39块,卖了快一万份,赚了三十多万,他跟我说,我也想学新框架,也想做SaaS收年费,但是算下来,做SaaS要租服务器、做运维,一年成本几万,还要年年跟用户收钱,用户也烦,我做这个client mfc application,一个exe发过去,用户一次付钱终身用,我不用管运维,不用更新,写好一次赚一辈子的钱,用户也满意,比做新框架的SaaS舒服多了。
现在智联招聘2024年第二季度发布的《制造业高端技能人才需求报告》里,MFC开发工程师的岗位需求同比去年增长了47%,平均招聘薪资达到18.2K,比很多前端开发的平均薪资还高,为什么?因为懂老技术的人越来越少,但是市场需求又真实存在,工业软件要做旧改,游戏圈要做老工具维护,到处都缺人,反而成了稀缺技能。
别神化新技术,合适的才是最好的
做了这么多年游戏自媒体,我见过太多追新概念死的项目,也见过太多老技术默默发光的例子,我个人一直觉得,技术从来没有高低贵贱之分,只有适合不适合的区别,现在很多人把新技术吹上天,好像不用最新的技术就是落伍,但是很多时候,新技术解决不了老场景的痛点,client mfc application能活三十年,不是因为开发者守旧,是因为它真的能解决问题,真的能帮用户省钱,真的稳定。就拿游戏圈来说,我们玩的很多老游戏,本来就是十几二十年前的产物,用户需要的就是一个能稳定运行的修改器、MOD工具,不需要你做花里胡哨的界面,不需要你加云同步,不需要你收年费,一个几MB的client mfc application就能满足所有需求,为什么要做几百兆的新工具?工业领域更是如此,中小企业本来利润就薄,能花两万块改好的东西,为什么要花一百多万换?换了还不一定有原来的好用。
很多人说,现在AI都要取代程序员了,谁还会用三十年前的框架写程序?但实际情况是,不管技术怎么发展,总有不需要花里胡哨新概念的场景,总有需要稳定、便宜、小工具的用户,client mfc application不会消失,只要还有Windows设备在用,还有人需要小而美的本地工具,它就会一直存在。
说白了,我们做技术也好,做内容也好,本质都是解决问题,不是比谁用的技术新,你用最前沿的AI做出来一个没用的产品,不如人家用三十年的老技术做出来一个能解决痛点的工具,client mfc application这个老兵,从来没有想要跟新技术争风头,它只是默默待在自己的位置上,解决那些新技术解决不好的问题,这就够了,老兵不死,也不会凋零,它只是换了一种方式,继续陪着我们走下去。
