《高性能响应式Web开发实战》一1.1 为什么需要响应式设计

简介:

本节书摘来异步社区《高性能响应式Web开发实战》一书中的第1章,第1.1节,作者: 李光毅 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.1 为什么需要响应式设计

首先,我们先讲一下“为什么”需要响应式。

1.1.1 产品形态需要

我不想再谈论移动设备的增长趋势,也不需要强调用户每天花费多少时间在移动设备上,更不必用数字和图表告诉各位移动互联网形势如何好。毕竟每天各种互联网报告和科技媒体都在反复提醒着我们这些事情。

这里我们仅站在产品和技术的角度上思考,假设没有响应式设计,假设不区分移动与桌面用户,任由他们访问相同的桌面端页面,会有什么问题?

以大众点评网为例,如果你真的在手机上访问过站点的桌面版,那体验将会是灾难般的,手机上网页文字很难辨别,如图1-1和图1-2所示。


1_2

当我想查看右下角的热门餐厅有哪些时,不得不小心翼翼地用手势放大、移动页面,调整到需要浏览的区域。请小心操作,因为稍不留神就可能误点击了页面的某一处链接导致浏览器跳转到其他页面去,又不得不返回,再重复之前的步骤(这是常常发生在我身上的事情)。

介于使用场景(如户外、室内、紧急程度等)和使用媒介(如手机、平板、电视甚至智能手表等)的不同,Web产品在受到诸多限制(如屏幕大小、交互方式)的不同终端上产品形态应当是存在差异的。

让我们再考虑一些更恶劣的情况,不,应该说更实际一些的情况。Web产品在移动设备上最大的天敌不是兼容性问题而是不稳定的网络信号。如果页面的体积过于庞大,请求过多,用户下载页面被中断而无法正常被访问的概率也就更大。大众点评(大部分网站也是如此)的移动版和桌面版在页面加载体积方面是有非常大区别的,如图1-3和图1-4所示。虽然这样的差异不一定是出于性能的考虑,但我仍然强烈建议尽可能压缩页面体积(可以通过利用浏览器缓存等方式)以减小风险,这样也能尽快向用户展示页面内容。


3_4

1.1.2 性能与商业考虑
最后让我们再来看一组用于证明性能重要性的统计数据[1]:

  • 一般来说,47%的用户希望页面的加载时间少于2 s;
  • 一般来说,如果一个网站的加载时间超过3 s,40%的用户会放弃访问这个网站;
  • 亚马逊说,他们页面的加载时间每增加100 ms,便会损失1%的销售额;
  • 谷歌说,他们页面的加载时间每增加500 ms,便会减少25%的搜索量。

对一个商业网站来说,时间就是金钱,用户没有理由把时间花在无法访问的网站上。

移动端浏览器的渲染效率、脚本执行效率与桌面端浏览器有一定的差距。页面上没必要向下兼容的冗余代码,以及更多无法预知的因素,都是在“想方设法”推迟着页面的展现。移动端面临的形势是严峻的,针对移动设备上的Web产品,应该在优化方面花更大的力气。

抛开产品本身,抛开商业因素,Web开发者的工作职责之一应该是用技术实现一个“好”的产品。一个网站没有CSS和JavaScript仍然可供浏览,移动设备浏览器当然也可以直接访问桌面端网页,但是这些情况下产品的可用性(usability)、可读性(readability)、可访问性(accessibility)如何保障呢?没有用户愿意历经艰难险阻才能使用产品。谈论响应式也好,移动化也罢,目标是让产品在移动端与桌面端一样好用,不仅仅是让布局变窄,让字体变小,让它看上去变得小了一号而已。这是机遇,也是挑战。

相关文章
|
10天前
|
编解码 前端开发 JavaScript
构建高效响应式Web界面:现代前端框架的比较
【4月更文挑战第9天】在移动设备和多样屏幕尺寸盛行的时代,构建能够适应不同视口的响应式Web界面变得至关重要。本文深入探讨了几种流行的前端框架——Bootstrap、Foundation和Tailwind CSS,分析它们在创建响应式设计中的优势与局限。通过对比这些框架的栅格系统、组件库和定制化能力,开发者可以更好地理解如何选择合适的工具来优化前端开发流程,并最终实现高性能、跨平台兼容的用户界面。
|
1月前
|
前端开发 数据库 UED
构建高性能Web应用的关键技术
本文将介绍构建高性能Web应用的关键技术,包括前端优化、后端优化、数据库优化等方面。通过深入讨论各项技术的原理和实践方法,帮助开发者们提升Web应用的响应速度和用户体验。
|
1月前
|
前端开发 开发者 UED
构建响应式Web界面:Flexbox的力量
【2月更文挑战第25天】 在现代网页设计中,创建能够适应不同屏幕尺寸的布局是至关重要的。Flexbox,一种CSS布局模式,提供了强大的工具来轻松地设计和调整灵活的响应式界面。本文将深入探讨Flexbox的核心概念,并通过实例展示如何使用它来构建美观、灵活且易于维护的响应式Web界面。
|
4天前
|
缓存 监控 数据库
Flask性能优化:打造高性能Web应用
【4月更文挑战第16天】本文介绍了提升Flask应用性能的七大策略:优化代码逻辑,减少数据库查询,使用WSGI服务器(如Gunicorn、uWSGI),启用缓存(如Flask-Caching),优化数据库操作,采用异步处理与并发(如Celery、Sanic),以及持续监控与调优。通过这些手段,开发者能有效优化Flask应用,适应大型或高并发场景,打造高性能的Web服务。
|
16天前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox与Grid布局的深度对比
【4月更文挑战第4天】 在现代前端开发中,构建灵活且响应式的用户界面是至关重要的。随着移动设备浏览量的增加,能够适应不同屏幕尺寸和分辨率的布局技术变得必不可少。Flexbox和Grid是CSS提供的两种强大的布局机制,它们各自以独特的方式解决了响应式设计的挑战。本文将深入探讨Flexbox和Grid的核心概念、使用场景和性能考量,为开发者提供在面对不同布局需求时做出明智选择的依据。
|
1月前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox的力量
【2月更文挑战第28天】 在现代网页设计中,创建能在不同设备上保持一致性和功能性的响应式界面是至关重要的。Flexbox,一个CSS布局模块,为前端开发者提供了强大工具来轻松实现灵活的布局设计。本文将深入探讨Flexbox的核心概念、使用场景以及如何通过它来优化响应式设计流程。
|
1月前
|
前端开发 开发者 UED
构建响应式Web界面:Flexbox与Grid布局的深度解析
【2月更文挑战第28天】 在现代前端开发中,打造灵活且适应不同屏幕尺寸的用户界面是至关重要的。随着移动设备的普及,响应式设计已经成为网页制作不可或缺的一部分。本文将深入探讨两种强大的CSS布局模块——Flexbox和Grid,它们如何简化布局创建过程,并赋予设计师更大的灵活性去构建动态和流畅的响应式界面。通过对这两种技术的比较、使用场景分析以及代码示例,读者将能够更好地理解何时以及如何使用这些工具来提升前端项目的质量和效率。
16 0
|
1月前
|
编解码 前端开发 开发者
构建响应式Web界面:Flexbox布局的全面指南
【2月更文挑战第28天】 在当今多变的设备屏幕尺寸和分辨率中,创建一个能够适应不同视口的响应式Web界面至关重要。本文深入探讨了CSS Flexbox布局模块,它是一种设计灵活且强大的方式来创建复杂的响应式布局。我们将透过概念解析、关键属性讲解以及实际案例分析,帮助前端开发者掌握Flexbox的核心原理和应用技巧,以实现流畅的页面布局调整和优化用户体验。
|
1月前
|
监控 前端开发 JavaScript
构建高性能Web应用:前端性能优化的关键策略与实践
本文将深入探讨前端性能优化的关键策略与实践,从资源加载、渲染优化、代码压缩等多个方面提供实用的优化建议。通过对前端性能优化的深入剖析,帮助开发者全面提升Web应用的用户体验和性能表现。
|
1月前
|
前端开发 测试技术 开发者
构建响应式Web界面:Flexbox布局的力量
【2月更文挑战第24天】在现代Web开发中,创建能够适应不同屏幕尺寸的响应式界面已成为一项标准实践。Flexbox,一个CSS模块,因其灵活性和强大功能在前端开发者中广受欢迎。本文将深入探讨Flexbox的核心概念、常见用例以及如何利用它来构建美观、灵活且易于维护的响应式布局。通过实例演示,读者将学会如何有效地应用Flexbox技术,提升前端项目的质量和用户体验。

热门文章

最新文章