Web Design: Mobile First

 20th August 2020 at 2:19pm

Mobile First(移动优先)指的是在网页设计中,先考虑移动端设计,再扩展到更大屏幕的 平板、PC 端的方法论。大部分主流 UI 框架都采纳了这种做法(比如 Bootstrap、Ant Design)。

Why Mobile First?

移动端的网页浏览量已经超过了传统的 PC 端。很多人上网的唯一设备即是手机。因为优先考虑移动端上的设计是更好的选择。

How?

Responsive Web Design 技术的推广、浏览器中 CSS 能力提升,使得可以针对不同尺寸的屏幕设计不同的页面。

Methodologies

存在两套方法论:

  • Progressive enhancement,中文作「渐进式增强」,意思是设计或者开发功能时,先考虑限制最多的终端,实现核心能力,再针对限制少的终端,做上锦上添花的功能。例子:
    • 基于屏幕小的移动端设计网站,再对屏幕更大的设备提供更详细的信息、更好的交互等
    • 在实现单页应用时,同时考虑没有启用 JavaScript 的客户端,对这样的客户端采用 server rendering,使其有一样的使用体验
  • Graceful degradation,用腾讯的说法叫「柔性降级」,即一开始设计或者开发功能时,优先考虑限制少的终端,再对于限制多的终端上降低部分体验

现在主流意见认为 progressive enhancement 更好,这也支撑了 mobile first 的理念。

Benefits

采用 mobile first 或 progressive enhancement 的好处是,因为屏幕小且浏览器的能力一般弱于 PC 端,因此会迫使设计师及产品经理仅把最核心的功能,用最简洁的方式表达出来,这会产生一个干净的网站设计。同时考虑到移动端一般网络较差,针对移动端设计网站也使得性能成为提前考量的因素,比如你不能放一些非常高像素的图片在移动端上。

反例

实际上业界有很多网站,它们流行于 mobile first 理论和响应式设计之前,导致它们往往先设计了 PC 端,再做的移动端。比如 GitHub,它并没有采用响应式设计,而是为桌面端和移动端分别设计了两套,并且在移动端非常强调了脚本及 CSS 的大小,以提升速度。

同时有一些效率工具,由于主流的使用终端是 PC,且交互比较复杂,开发者可能一开始并没有针对移动端做设计。比如 ClickUp、Everhour 等,它们的移动端网页或者 app 不好用。但是这块也有做得好的,比如 TickTick。

Resources