Web App 的效能会直接影响使用者体验,也会影响到用户会不会持续使用这个站台,当优化站台时可以多着重在使用者的效能体验上。
用户理论上在安装前要可以用任何浏览器浏览 Web App,PWA 其实本质上还是网页,代表着需要处理跨浏览器相容的问题,Jeremy Keith 提出了 Resilient Web Design 的概念,指出:
以一个表单来说
虽然没读完,不过还是推荐有空的大大们有机会可以拜读 Jeremy Keith 的 Resilient Web Design,去了解怎麽有方法论的去实作跨浏览器的支援。
让用户可以透过任何解析度、各种大小萤幕来浏览网页。
近几年装置的大小比例越来越多元,即便在同个装置也会有不同的解析度,因此确保网站内容要在每个状态下都可以正常显示是很重要的。
行动装置上由於显示空间上的受限,所以会特别需要去注意一些功能的设计,目前网路上有很多关於 responsive design 的介绍,也有很多前端工具像是 Bootstrap 预设就提供了这样的设计。
另外一种角度是从内容的角度出发去设计整个 App,透过内容去影响排版的响应。
当用户处於离线状态,让 PWA 仍然能够有基本的功能,举例来说 Chrome 在前几年时就推出了离线小恐龙游戏,对 PWA 来说,就是能够提供基础的功能。
当用户安装过後,多少会预期能够离线使用,所以在网站设计时,PWA 要能够做到安装後打开时并不会是一片白。
若是浏览到未被快取的页面:
实作上,当 service worker 这个网路相关代理小秘书有做好相关设定,原则上就可以快取相关的资源到本机端进行後续利用,像是图片、影片资源等等。
当决定好哪些功能要支援离线使用时,就会需要将资源储存在本机端,浏览器提供:
开发者需要注意的是何时进行资料的捞取及更新,像是处理用户从离线状态恢复有网路时的情境转换。
既然是叫 Web App 那就要让 App 能够被安装,不管是使用上、实际上都能够更接近 Native App。
除了上面几项必修以外,还有几项选修可以参考优化
前言 物件 在 JS 是十分重要的,并且关於物件有几个满重要的特性: 物件传参考 物件深层/浅层 复...
大家好~ 昨天成功在日历上新增 Event 了, 今天来对日历的 Event 做其他操作吧~ Rea...
Devops with Jenkins, Kubernetes 部属 Jenkins 建立 name...
今天我们就利用我们之前所学的来做一个和旅游相关的Onboarding介面,事不宜迟赶快开始吧! 我想...
前言 目标:串接虾皮订单、标签资讯,目前串接虾皮 OpenAPI 2.0 版本,串接手册 串接步骤:...