前段时间微信也出了一个Linux原生版本,这段时间也体验试验了下。
这周就聊一下这个原生微信的使用体验与背后的技术探究吧。
使用Linux的阻力
严格的说,阻碍我完全的使用Linux的主要阻力有以下几个:
1.不支持Xcode开发
我有过几年的移动开发经验,而在iOS方面,显然就是使用的Xcode,而在Linux上,支持Xcode是无论如何都不可能的。
好在我这两年已经很少做移动开发了,主要还是在后端 前端,再加上我还有一个M1 Mac Mini放在公司使用,确有需要XCode的时候,使用那个也没问题。
2.国内软件--微信
做为一个程序员,我日常使用的软件,无论是涉及编程,还是不涉及编程,基本上在Linux都不存在问题。
这一点,我在我过往的文章中也说了,详情可以点击我过往写的这个文章 (文末给出链接)
基本上编程类的都支持Linux,因为Linux本身群体就是以程序员为主。所以程序员使用Linux用来编程,更应该如鱼得水才对。
但有一个软件始终没法避免,就是微信。
国内无论是家人,朋友或是工作上的同事,沟通基本上都是微信,说不需要微信这个就有点自大了。
过往在Linux上的微信解决方案无非是使用Wine或是深度的微信版本等(也是基于Wine),这些方案也不是说不能用,只是给人的感觉像是吞了苍蝇一样难受。
不过,年前我就发现,微信出了一个原生Linux版本,我也很有兴趣就安装,并使用了一段时间。
原生微信
最开始我是在V2EX中看到有人提及这个事,我就去查验了下,果然如此 。
这个原生微信的版本,在优麒麟商店中可以找到。
优麒麟其实是Ubuntu的国内特供版本,定制了很多国内东西,类似于Android系统的国内定制ROM感觉差不多吧。
由于优麒麟就是Ubuntu,那当然意味着这个版本也能在Ubuntu本身以及基于Ubuntu的Linux Mint这样的版本上使用。
我在Linux Mint与Ubuntu上都试过,都能正常安装与使用。
技术实现
这个原生的微信其实也是基于Electron技术实现的。
从deb解包后的的内容我很容易得出它是基于Electron使用前端技术做的。
•它的目录结构与我2020年基于Electron做的一个跨平台桌面应用完全一致•在目录结构中能找到LICENSE.electron.txt文件,这是electron的LICENSE说明•在目录结构中同样能找到package.json,做前端应该都知道它是什么,package.json是现代前端项目的核心定义文件
从下图对比可知,微信(左)与我自己写的一个基于Electron桌面程序目录几乎完全一样
估计微信这个东西只是基于它以前的网页版微信,套了个Electron吧。
最开始也是给UOS用的,这几年国内,特别是政府在推广使用UOS这个Linux系统,微信也不得不做出改变吧。
体验
一句话形容体验:
非常简陋,但聊胜于无
说实话,腾讯这么大个公司,据说微信在广州有一栋楼,做出来的这个玩意,还没有我在2020年花了5个月不到的时间做出来的体验好。
只有支持文字,图片等非常少的聊天功能,还有一个简陋的通讯录。
连通知都没有,消息通知都没有。。。
2020年我基于Electron做的一个跨平台软件,主要也是聊天功能。
微信这个更不要说和国外同类软件Slack,Telegram等去比较了,差的就不知道多远了。
但有比没有好,对吧,总归能在Linux下不用折腾什么Wine这一类的实现了。
期望与未来
不要说和国外互联网公司比,就以国内来说,金山的WPS在Linux上就非常用心,给人的感觉非常不错,体验也非常好。
而微信在这一点上,明显不太用心,令人失望。
当然,我们都知道,如果以国内Linux所占有的份额来说,确实Linux在商业上不值得重视,但Linux使用群体无论在国内国外都不是主流,为什么国外的公司能比较重视,而腾讯再怎么说也不是个小公司吧。
不过,我相信随着我们国家政府机构转向Linux越来越多的趋势下,微信未来应该也会改善的吧,其在Linux客户端的体验相信也会越来越好,我也非常期望这一天。
最后,放一张我的Linux桌面美图 (话说现在的Linux在UI上也非常出色了)