
“你的下一台电脑,何必是电脑?” (Your next computer is not a computer)
这是苹果在宣传2020款iPad时使用的广告词,用以强调iPad具备类似电脑的功能。由于实际体验不佳,这则广告词后来沦为了笑话。网友将其改为了“你的下一台电脑,还得是电脑”。
近年来,随着各大国内手机品牌争相耕耘平板市场,关于什么是电脑、平板能否取代电脑的讨论从未停止。日前,华为推出的全新鸿蒙桌面操作系统以及“鸿蒙电脑”,又将这一讨论推上了风口浪尖。
在这个背景下,我想分享一些我在使用“电脑”时发生的一些故事。由此出发,结合最新推出的“鸿蒙电脑”,谈谈我对“什么是电脑”这个命题的理解。
两年前的某一天我电脑坏了。我那时正在用嘉立创做一些三极管放大器的仿真,并且第二天要做小组报告。电脑坏掉的时候,我的仿真还没做完。
修理店的店员说修理要一天。回到宿舍,我拿出我的iPad,接上鼠标和键盘,希望它能够接替我在电脑上的工作。
嘉立创有需要安装的电脑版以及直接运行在浏览器里的网页版,而我当时用的是后者(如果我印象没错,只有网页版支持spice仿真)。因此我想,既然是网页,那用iPad的网页浏览器,应该也可以勉强把这个任务做完。
它确实可以,也确实很勉强。在用iPad的Safari使用嘉立创的时候遇到了各种奇怪的问题。比如,嘉立创原理图的一些缩放、滑动操作会和Safari的刷新、回退操作冲突,导致操作起来非常困难。此外,我没法旋转原理图上的器件。具体的说,以电阻为例,它旋转时只会旋转其中一个端口,把“一”形的器件变为“L”形,实在是令人忍俊不禁。
造成这些使用问题的是浏览器兼容性。嘉立创网页版很可能没有兼容Safari浏览器。虽然它也有可能不兼容Mac版的Safari,但我可以在Mac上下载其它浏览器。我在Mac上用Firefox,它运行嘉立创没有问题。而在iOS和iPad端,苹果规定所有浏览器都必须用Safari的内核(近几年好像放开了),因此所有第三方iOS和iPad浏览器都是Safari“换皮”,是无法解决这种兼容性问题的。
嘉立创的核心功能仍然是可用的,我也真的克服了这些使用困难在上面完成了一些仿真任务。不过,浏览器兼容性问题还是没能让我的iPad(良好的)代替我的电脑。电脑修好后,我立刻就换回去了。
我喜欢解谜游戏。我偏好环境相关的解谜(所谓的 cube-and-button based testing)而不喜欢数学性过强的解谜。 我在玩某个解谜游戏时,它关卡和关卡之间放置了这种我不喜欢的数学性强的解谜。具体的说,它让我用多个拼图拼成一个给定大小的矩形。一种典型的拼图问题。这游戏的关卡本身很有趣,但这关卡和关卡之间的拼图问题,在我看来无聊且浪费时间。
因此一个自然的想法是写一段程序来解决它。我的平常工作用MacBook,上面有我配置好的开发环境,我自然是在它上面写的这段程序。写完后,我想把我它移植到我打游戏的Windows台式机上,这样打游戏的途中方便运行。 但另一方面,我也想把这个程序在手机上打开,这样玩游戏卡住时直接打开手机,似乎还更方便一点。此外,我有点希望我的程序可以易于分发,这样其它玩家也可以使用我的成果。我还希望我的程序可以具备一个稍微好点的界面,不至于让用户面对一个黑白对话框。
跨平台、易分发、带UI,最好的,也可能是唯一的选择就是网页了。我因此将我的程序翻译成了JavaScript,配了一些建议的输入文本框,确认按钮和输出框,做成了一个网页并部署了。
这里简单的解释一下。我假定作为读者的你学习过python。使用python时,你需要先下载安装一个python编译器(解释器),随后才能在你的电脑上运行.py
的python文件。如果你想将你的python程序分发给其他人,让没有装python解释器的人也能执行,需要做一些很复杂的打包操作,搞定依赖等各种问题。
但JavaScript是一个很特别的语言。它被世界上几乎全部网页广泛采用,是网页用来实现各种逻辑的核心语言。浏览器为了打开网页,几乎都内置了一个JavaScript解释器。因此,如果我把我的拼图工具写为JavaScript,放入一个网页,那么在任何设备上,只需要打开浏览器进入那个网页,就可以执行我写的那段程序。
我的拼图求解网页的效果很好。在这之后我越来越重视网页的作用。加入速通社区后,面对速通玩家的需求和痛点,我又做了一些网页应用。
对开发者来说,网页是最简单的,将自己的思维成果分发出去,为面临同样痛点的人提供帮助的途径。 对用户来说,网页是最容易找到所需工具的途径。
现在很多软件都有网页版。一些软件的网页版和桌面版几乎完全一致,比如Notion,Todoist,draw.io,Discord。很多传统的桌面软件也在逐渐注重网页版,比如Xmind,微软Office,WPS Office。各大科技公司关注网页版,正是由于网页的这种跨平台,易访问的优势。网页不论是对于我这样的个人开发者,还是大科技公司,都是极佳的分发自己所做工具的平台。从用户角度,这也意味着自己的绝大部分(基本)需求都可以通过网页满足。
很多人在评价电脑操作系统的时候过于强调生态,但在网页工具的帮助下,生态是可以被无限扩展的。即便没有本地应用,用户也可以通过浏览器使用网页版。对于电脑操作系统,生态不是最重要的,浏览器是最重要的。只要电脑有一个“好的”浏览器,用户就可以利用网页无限的扩展电脑功能的边界。反之,如果一个电脑系统浏览器做不好,那它就是不及格的。
有人可能想问:浏览器就是电脑系统的最重要特征了吗?如果平板的浏览器也足够好,平板就可以是电脑了吗?在我看来,是的。但问题就在于它们的浏览器不够好。
还记得前面嘉立创的例子吗?如果它的浏览器能更好的打开嘉立创,那么我的工作就能无缝的衔接到平板上面。但它不行。它存在兼容性问题,嘉立创的电阻在iPad上没法旋转。所以iPad不是电脑。
所以鸿蒙的平板也不是电脑。
春节家人一起旅游。我收到了一个请求,请我想办法在亲戚的“原生鸿蒙”平板上弄一个图片轮播工具,以利用这个平板的大屏幕和便携性,给记忆能力退化的长辈轮播近日旅游的图片。
自带的图库不具备类似的功能。鸿蒙应用市场里没有合适的应用。我在安卓上找到了合适的应用,它的确可以通过鸿蒙系统里的“安卓虚拟机”(好像叫卓易通?)安装。但是鸿蒙的存储空间对虚拟机内部不透明。那个安卓应用压根读不到平板上的图片。(据说后来虚拟机里可以访问本机存储空间了。但在故事发生的2025年2月,它还不行。)
我决定自己写一个工具。我需要这么几个功能:(1)从系统文件中选择多个图片文件;(2)关键的图片轮播,需要一个显示区域来显示图片并定时切换;(3)一个点击后能进入全屏的功能。
现学鸿蒙开发很不现实,不是做不到,而是很麻烦。而且除去学习成本,原生鸿蒙是不支持应用测载的。这意味着要想把我的工具安装在亲戚平板上,我要么走上架审核流程,要么用开发者调试模式。前者意味着额外的时间精力,后者意味着在亲戚回到外地后,我将没办法推送修复或更新。
要跨平台、易于部署、快速出成果,网页是最好的选择。在AI的助力下,一个小时就做出来了,在我电脑上的测试效果很好。只用了一个index.html
,总共不超过150行(如果做native开发,这样的代码量是绝对完成不了的)。我兴致冲冲的把网页部署,并在鸿蒙平板上打开。
然后我傻眼了。鸿蒙平板上,连选择图片的这一关都过不去。文件选择器好像没有一个简单的批量多选功能,只能一键全选。而我如果选择超过500张照片,系统的文件选择器会卡在500张,然后文件选择器会连带浏览器一起卡住。
我确信这不是我的代码问题。这是华为鸿蒙浏览器,以及背后的文件系统接口的问题,也就是先前提到的“浏览器兼容性问题”。
我很失望。我本以为我能一两个小时解决亲戚的需求,最后却做出了这个用不了的东西,而这却不是我的原因,我对这一现状完全的无能为力。
我的这段代码在任何电脑浏览器(Chromium、Firefox、MacOS的Safari)里都没有任何问题,放到移动端就出现各种问题。iPadOS、iOS选取图片卡顿、无法全屏(这是移动端Safari的刻意限制),鸿蒙选取图片崩溃,安卓选取图片卡顿但程度较轻、正常全屏。
由于这些问题,在我的定义下,它们都不是电脑,而其中安卓最接近电脑,我的网页在上面基本是正常运行的。如果那个平板没升级原生鸿蒙,而还是保持安卓,那我做的这个网站也许真的就能派上用场了。
还记得我其实早就在安卓上找到了“合适的应用”吗?事实上,如果那个平板还是安卓,我直接用我找到的那个“合适的应用”就行了,根本就不需要走到自己开发网页这一步。网页兼容性是生态问题的遮羞布,而鸿蒙平板连这块遮羞布都没做好。我对此相当失望。
这是2025年2月,我和鸿蒙系统的第一次接触。
近期鸿蒙桌面系统发布了。由于这一段痛苦回忆,我首先在意的就是浏览器兼容性问题。这个鸿蒙桌面系统的界面和交互像不像鸿蒙平板,我根本不在乎;但如果这个系统的浏览器像鸿蒙平板,选择文件都要崩溃,那我真的准备破口大骂了。
很幸运的,这个问题没有在鸿蒙电脑上出现。在鸿蒙电脑展示机上,从弹出的文件选择器中全选展示机自带的100+张示例图片,秒开,没有任何问题。我又打开了一些我常用的其它网页应用,没有出现问题。
因此我想,这个新系统作为电脑大概是及格的吧。我认可它是一个电脑。