Instagram是如何工作的?(搭配视频更好)

首先先放一个视频地址:How Instagram.com Works; Pete Hunt

传统的页面工作方式:

图片描述

优化的目标(方法):

图片描述
优化的思路:不需要一次获取所有的页面,只需要获取部分所需要使用的页面page

Instagram的做法

  1. 常用的对js的处理方式
    将js集中在一个文件里面---->缺陷:页面加载会比较慢

  2. 合适的处理方式
    基于webpack,使用模块系统,利用异步加载,引入这些module
    图片描述

  3. css文件的引入(pete自述是他最讨厌的)
    做法与js类似,利用module system引入

  4. css文件引入的问题
    类名相同,由于css层叠的原因,会出现解析错误的问题

  5. 解决方法:
    1)在不同的命名空间使用类名
    2)类名需要明确
    3)不使用级联的方式
    4)不出现类名覆盖(no override)

  6. webpack的使用方法
    1)Pete关于介绍webpack使用方法的
    2)国内segmentFault关于webpack的介绍

视频感想

  1. 没有明白HTML结构是如何加载的,难道是由于每个Instagram用户的界面基本一致,直接在APP中“植入”

  2. css文件异步加载,在无法确定哪一个css文件首先加载情况下,如何保证客户端快速连接服务器的同时,稳定而且美观


杂七杂八的感想
关于前端工作的杂七杂八的想法,欢迎一起讨论

an unexamined life is a life not worth living

2.3k 声望
133 粉丝
0 条评论
推荐阅读
构建web离线应用(二)
上一篇文章中,我们成功尝试使用 service workers。我们也可以在应用中缓存一些资源。这篇文章我们准备了解这些:service workers 以及缓存是如何一起配合给用户一个完美的离线体验。

望舒4阅读 1.6k

正则表达式实例
收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。常用正则表达式实例1. 校验基本日期格式 {代码...} {代码...} 2. 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊...

寒青56阅读 8.5k评论 11

JavaScript有用的代码片段和trick
平时工作过程中可以用到的实用代码集棉。判断对象否为空 {代码...} 浮点数取整 {代码...} 注意:前三种方法只适用于32个位整数,对于负数的处理上和Math.floor是不同的。 {代码...} 生成6位数字验证码 {代码...} ...

jenemy49阅读 7.2k评论 12

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木75阅读 7.2k评论 16

再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...

libinfs42阅读 6.9k评论 12

封面图
CSS 绘制一只思否猫
欢迎关注我的公众号:前端侦探练习 CSS 有一个比较有趣的方式,就是发挥想象,绘制各式各样的图案,比如来绘制一只思否猫?思否猫,SegmentFault 思否的吉祥物,是一只独一无二、特立独行、热爱自由的(>^ω^&lt...

XboxYan47阅读 3.3k评论 14

封面图
从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木45阅读 8.7k评论 6

an unexamined life is a life not worth living

2.3k 声望
133 粉丝
宣传栏