自适应加载
之前我们可能都听说过 “自适应加载” 这个名词,可能大多数人都停留在对屏幕的大小做出响应上,实际上它还可以指对实际的硬件设备做出响应。
在设备千差万别的世界中,“一刀切”的体验可能并不总是奏效。使高端设备上的用户满意的网站可能无法在低端设备上使用,特别是在中等水平的移动和桌面硬件以及新兴市场上。
如果我们能够调整页面的交付方式,以更好地满足用户不同设备的限制,会怎么样呢?
在上一次的 Chrome Dev Summit talk 中,来自 Google 的 Addy Osmani 和来自 Facebook 的 Nate Schloss 讨论了 “自适应加载” 这种模式。
这可以使用户可以获得最适合他的体验。你可以通过 “自适应加载” 解锁下面的功能:
我们可以通过下面几个信号来实现自适应加载:
在演讲中,作者介绍了在 Facebook,eBay,Tinder 等网站上使用的这些想法的真实示例。详细视频可以到 https://www.youtube.com/watch?v=puUPpVrIRkc&feature=youtu.be 查看
自适应加载 React Hooks
Google Chrome 团队还发布了一组新的(实验性的)React Hooks&Utilities,用于在 React 程序中实现自适应加载技术。
https://github.com/GoogleChromeLabs/react-adaptive-hooks
useNetworkStatus React Hook:用于根据网络状态(有效的连接类型)对应用程序进行调整:
- import React from 'react';
- import { useNetworkStatus } from 'react-adaptive-hooks/network';
- const MyComponent = () => {
- const { effectiveConnectionType } = useNetworkStatus();
- let media;
- switch(effectiveConnectionType) {
- case '2g':
- media = ;
- break;
- case '3g':
- media = ;
- break;
- case '4g':
- media = ;
- break;
- default:
- media = ;
- break;
- }
- return
{media};- };
useSaveData 用于根据用户浏览器的数据保护选项对程序进行调整:
- import React from 'react';
- import { useSaveData } from 'react-adaptive-hooks/save-data';
- const MyComponent = () => {
- const { saveData } = useSaveData();
- return (
- { saveData ? : }
- );
- };
useHardwareConcurrency:根据用户设备上的逻辑CPU处理器内核数对程序进行调整的:
- import React from 'react';
- import { useHardwareConcurrency } from 'react-adaptive-hooks/hardware-concurrency';
- const MyComponent = () => {
- const { numberOfLogicalProcessors } = useHardwareConcurrency();
- return (
- { numberOfLogicalProcessors <= 4 ? : }
- );
- };
将来,我们希望看到更多的基础架构的示例,这些示例可以根据用户的网络和设备约束自动调整和最优的应用程序体验。
了解更多内容:https://dev.to/addyosmani/adaptive-loading-improving-web-performance-on-low-end-devices-1m69
分享标题:提升低端设备的Web性能
文章位置:http://www.shufengxianlan.com/qtweb/news46/336296.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联