5 秒的加载时间不可接受,但它却是常态
启动程序、打开 App,或者加载一个网站时,你大概率要等上好几秒。这很正常。
但其实不该这样。
一旦你的用户体验过快速的加载和响应,他们就再也不会转向竞争对手——当他们感受到你的 App 飞快、对手的 App 卡顿,那种慢就会让他们格外难受。
怎么拿下这个优势?有哪些真实数据?该向你的开发者问些什么?这篇文章一次讲清。
东西到底能有多快?
这不是一篇技术文章,所以我们只快速过一遍几个基础又好懂的数字,再跟现实对比一下。
一部低价手机里的廉价 CPU,每秒能处理数十亿条指令,再乘以至少 2 个核心(也就是 2 个处理单元)。
从现代硬盘读取数据,速度是每秒数千兆字节——同样,哪怕是低价手机也能做到。
通过互联网传输,最低端也有每秒数百兆字节。
对比一下
先拿最慢的产品来说。一个高质量的网页,加载完之后往大了算,也就 15 到 25 兆字节。
这意味着,全部算下来,你在浏览器里输入链接后,大约 1 到 2 秒就该看到整个网站——完全加载好。
再说手机上的 App,文件都存在你的设备上,所以根本用不到互联网(最慢的速度)。以每秒数千兆字节的速度,一个普通 App 应该在 0.15 到 0.25 秒内就打开并能用。
在已经打开的 App、程序或网站里,一次交互只走 CPU、有时再加 GPU 的最快速度。你点一个按钮,屏幕上应该几乎是立刻就有可见的反应。
现实中的情况
在现实里,并不是总能达到这些速度。但你也能想到,从 1 到 2 秒变成 5 秒的加载时间,其实根本没必要,你的网站照样可以在 2 到 3 秒内打开。而且这还是针对那种没做好优化的超大网页来说。
该向你的开发者问什么?
你不需要把技术和代码搞得明明白白。这又不是技术面试。
技术栈
先问一句:“你用的是什么技术栈?”这个问题是在问他们用哪些工具和技术来构建、又构建在什么之上。如果开发者开始跟你大讲他们用了多少酷炫的技术,那就是个危险信号。说出“webview”这种词,也一样。
为什么?因为今天大部分慢吞吞的软件,都是建立在之前造好的东西上,而那东西又建立在更早之前造好的东西上。这是一条链。也就是说,前面提到的那些速度虽然依旧有效,但它们要处理的不是你的项目,而是层层叠叠的中间层。
WordPress 慢,就是因为它什么都做,哪怕你根本不需要。
测量
第二个问题,是问他们怎么测速度,速度目标又是多少。
令人意外的是,很多开发者会说目标是 5 秒。这又是个危险信号。如果他们对“怎么测”给不出像样的答案,或者答案是“我们打开看看”,同样不行。
用眼睛看、亲身体验,是测试中必不可少的一环。但它也是很多“在我这儿能跑啊”问题的根源。
你该开始要求速度指标了
把项目做扎实,确实更费工夫。但没你想的那么多。
小项目(比如单页网站),从零开始做和用现成工具,工作量上几乎没什么可衡量的差别。大项目则需要仔细规划,权衡利弊,并清楚为什么要用所谓的框架。
你的产品规格里,不该只写产品该怎么运作,还该写它该有多快。这是一场非常重要的讨论。
从我们的实践来看,我们明白对一个非技术背景的人来说,这是一场让人不太自在的对话。所以在 LINK-V,我们会用你听得懂的语言,带着客户走完整个流程。说到底,软件就是人与计算机之间的那一层,既然我们来做软件,我们也照这个方式来做。