京东首页前端架构设计

工程化 Windows可视化工具 * 工程化 前端模块构建平台 * 总结 * QA * * JD.com JD.com JD.com JD.com JD.com JD.com JD.com JD.com JD.com JD.com JD.com 谢谢! 京东首页前端架构设计 刘威 2015年11月22日 关于我 刘威 (@putaoshu:微博,微信,github) 现就职于京东用户体验设计部(JDC),负责前端架构组 曾工作于百度、新浪 * 大纲 面临挑战 页面静态化 加载策略 灾备策略 性能优化 移动端兼容 开发模式 工程化 面临挑战 * 面临挑战 大流量高并发 页面Dom元素剧增 楼层tab标签由5个到9个 页面整体高度翻倍 由4820到9862px 页面图片量增加 80%的位置是图片展示 首屏加载时间要有保证 加载时间不能增加 … * 页面静态化 * 页面静态化 * 加载策略 一般的前端页面加载策略 后端从数据库取出数据,拼装好页面,浏览器加载页面所有HTML元素,并对图片懒加载(lazyload) * 加载策略 我们的加载策略 楼层异步加载+本地缓存 把页面按楼层进行拆分,把首屏做为页面框架主体,每个楼层的数据,单独做成数据接口,异步加载。 给每个楼层设置默认高度,到达这个区域时请求当前楼层数据文件,对楼层数据文件进行md5(即data-time),并把楼层数据和data-time localStorage至本地,如果页面上的data-time和本地的data-time值一样,直接取localStorage,如果不一样,才重新ajax请求数据 流程图如下 * 加载策略 * 加载策略 楼层初始化 楼层数据:包括html结构和当前楼层的脚本 请求的数据渲染到页面,并且初始化楼层脚本 具体代码

浅谈京东静态html原理,京东首页前端架构设计.ppt相关推荐

  1. 浅谈Rem 及其转换原理

    浅谈Rem 及其转换原理 今天有小伙伴问了我Rem的转换原理,那我就写篇博客记录一下吧! rem 是 CSS3 新增的相对长度单位,是指相对于元素 html 的 font-size 计算值 的大小. ...

  2. 浅谈人工智能的工作原理

    众所周知人工智能现在快速发展,并且为众人所熟知,不仅如此,人工智能也在各行各业中广泛使用.那么人工智能的工作原理是什么呢? 浅谈人工智能的工作原理 人类智能由三个部分构成(还有些其他生物学和科学现象也 ...

  3. 动态磅是怎么原理_浅谈动态地磅的原理及未来发展方向

    浅谈动态地磅的原理及未来发展方向: 文章介绍了动态地磅的结构和工作原理,针对动态地磅的分类做了全面的概述,分别对不同的动态地磅做了对比及详细的阐述,说明选择和使用动态地磅器的注意事项,凸显了轴组式动态 ...

  4. 浅谈 git 底层工作原理

    浅谈 git 底层工作原理 系统复习到这里也快差不多了,大概就剩下两三个 sections,这里学习一下 git 的 hashing 和对象. 当然,跳过问题也不大. config 文件 这里还是会用 ...

  5. 伺服驱动器生产文件_浅谈伺服驱动器的工作原理

    原标题:浅谈伺服驱动器的工作原理 目前,主流的伺服驱动器均采用数字信号处理器(DSP)作为控制核心,可以实现比较复杂的控制算法,实现数字化.网络化和智能化.功率器件普遍采用以智能功率模块(IPM)为核 ...

  6. 浅谈代理服务器工作的原理

    浅谈代理服务器工作的原理 (1) 代理服务原理 代理服务器有很多种,大体来说有http,ftp,socks代理三种,其中又分透明代理和不透明代理.其中透明代理一般是网关,是硬件.所以这里讨论不透明代理 ...

  7. 京东虚拟业务多维订单系统架构设计读后感

    阅读文章:京东虚拟业务多维订单系统架构设计 文章网址:https://mp.weixin.qq.com/s?__biz=MzU1MzE2NzIzMg==&mid=2247486428& ...

  8. matlab单相电源在哪里,浅谈基于MATLAB的单相独立光伏逆变电源电路仿真设计

    156电子技术 独立型光伏发电系统系统结构如图 1 所示,主要有太阳电池组件(方阵).控制器.储能蓄电池(组).直流 / 交流逆变器等部分组成.光伏阵列发出的直流电通过器将其逆变为交流电供给负载,蓄电 ...

  9. 浅谈《微信抢红包原理》

    现在很多人手机可能都安装了抢红包软件,为了过年抢红包不错过,当然会下载来用用,其实,现在的抢红包软件,基本都是通过监听通知栏消息"[微信红包]"字样,作为识别是红包的依据的,可能大 ...

最新文章

  1. 关于远程办公,微软MVP 15年研发团队的经验分享
  2. SAP WM 明明为OBD创建成功了GroupNumber,却被提示该Group Number不存在?
  3. 结合案例深入解析:抽象工厂模式
  4. 树莓派小车参考方案,了解一下
  5. 第12个双11,天猫的“造新”运动
  6. java phantomjs_Java爬虫:Jsoup + Phantomjs
  7. 后端:SpringBoot 的@Value注解,高级特性,非常实用!!
  8. es安全组端口_从零开始在远程服务器(Linux)上搭建es,eshead和ik分词器
  9. 多媒体播放(windows音乐播放)
  10. 让.net 2.0支持并行计算
  11. Codeforces 439E Devu and Birthday Celebration 容斥
  12. 实用干货!大数据入门的常用技术栈全在这里了
  13. 1.业务架构·应用架构·数据架构实战 --- 架构实践全景图
  14. 中控指纹仪linux驱动下载,中控uru4500指纹仪驱动
  15. python经纬度批量定位 绘制高清地图
  16. xp系统怎么创建服务器新用户,xp系统ftp服务器创建用户
  17. 自动驾驶域控制器话题下的软件系统设计和研发管理
  18. 【热门主题:萤火之夜xp桌面】
  19. Windows 10驱动签名_win 10驱动数字签名_驱动签名注意事项
  20. 使用Linux Deploy在android手机上部署Ubuntu

热门文章

  1. 华为手机助手连接不上电脑怎么办
  2. 等保测评中web应用防火墙怎么选择?
  3. STM32串口DMA方式接收数据。类似环形FIFO。超省CPU资源!
  4. 心灵鸡汤1------让人奋进的五句话
  5. 【Error2013:2013 lost connection to MYSQL server在处理大量数据运行中报错解决方法】
  6. 移动通信第三章,组网技术基础
  7. 一般将来时语法课教案_【语法视频课】第1~50节资料汇总
  8. 放大器电路在设计过程中常见问题分析及如何解决
  9. 一个由服务器时区引发的Bug
  10. UTONMOS:元宇宙链游之风、燎原之势