漫画 | 前端发展史的江湖恩怨情仇

Souleigh ✨ 等级 689 1 0

时间总是过得很快, 似乎快得让人忘记了昨天,前端WEB领域的发展更是如此,转眼间已是近30年,时光荏苒,初心不变,在一代又一代前端人的努力下,前端已经是互联网不可或缺的一部分。

然而很多前端打工人对于前端的历史了解甚少,今天,本文将用漫画(画的有点low)的形式带你倒回历史的长河,一起领略前端发展史的江湖风云纠纷、恩怨情仇…

漫画 | 前端发展史的江湖恩怨情仇 漫画 | 前端发展史的江湖恩怨情仇 漫画 | 前端发展史的江湖恩怨情仇 漫画 | 前端发展史的江湖恩怨情仇 漫画 | 前端发展史的江湖恩怨情仇 漫画 | 前端发展史的江湖恩怨情仇 漫画 | 前端发展史的江湖恩怨情仇

篇后

JavaScript曾经被最认为是糟糕的语言,或者说大家当初并不认为它是一种语言,时至今日它却是最流行的语言:在GitHub 上有 60%+的开源项目都是与JavScript有关的.

而我(你)有幸成为前端人中的一员,也坚信前端未来的路会更加光明,前端的发展离不开每一位前端人的努力,仅以此篇致敬每一位优秀的前端开发者.

收藏
评论区

相关推荐

阿里二面,面试官居然把 TCP 三次握手问的这么细致
TCP 的三次握手和四次挥手,可以说是老生常谈的经典问题了,通常也作为各大公司常见的面试考题,具有一定的水平区分度。看似是简单的面试问题,如果你的回答不符合面试官期待的水准,有可能就直接凉凉了。本文会围绕,三次握手和四次挥手相关的一些列核心问题,分享如何更准确的回答和应对常见的面试问题,以后面对再刁钻的面试官,你都可以随意地跟他扯皮了。 面试TCP的意义
人工智能数学基础-线性代数1:向量的定义及向量加减法
一、向量 1.1、向量定义向量也称为欧几里得向量、几何向量、矢量,指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。与向量对应的量叫做数量(物理学中称标量),数量(或标量)只有大小,没有方向。1. 在物理学和工程学中,几何向量更常被称为矢量。 2. 一般印刷用黑体的小写
人工智能数学基础-线性代数4:矩阵及矩阵运算
一、矩阵定义矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,定义如下: 由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。记作: 这m×n 个数称为矩阵A的元素,简称为元,数aij位于矩阵A的第i行第j列,称为矩阵A的(i,j)元,以数 aij为(i,j)元的矩阵可记为(aij)或(aij)m × n,m×
凉凉!面试阿里我被Redis技术专题给搞的昏倒在地~
凉凉!面试阿里我被Redis技术专题给弄死了📚我本以为我可以像是别的博主一样去阿里面试随随便便,因为Redis,我直接被阿里大佬淦翻在地上好了不装了 没过没关系 我总结了一些这些最难的知识点!!!!然后自己总结归类再去百度查询了一些 最终得出这份Redis技术专题 题目开淦 Redis集群的主从复制模型是怎样的?为了是在部分节点失败或者大部分节点无法通信的情
c++类和继承面试点25连问
本篇文章连问面试时经常会遇到的类和继承相关25个问题,看看你能回答出几道题呀。还是先看一下思维导图,如下: 1. c++的三大特性是什么c++的三大特性,说白了其实就是面向对象的三大特性,是指:封装、继承、多态,简单说明如下: 封装是一种技术,它使类的定义和实现分离,也就是隐藏了实现细节,只留下接口给他人调用,另外封装还有一层意义是它把某种事物具现出属性和方
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按
java的linux执行的shell
#!/bin/sh   #该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用,   #也可以作为启动java程序的独立脚本来使用。   #   #   #警告!!!:该脚本stop部分使用系统kill命令来强制终止指定的java程序进程。   #在杀死进程前,未
Android中的Selector的用法
Android中的Selector主要是用来改变ListView和Button控件的默认背景。其使用方法可以按一下步骤来设计: (以在mylist\_view.xml为例) 1.创建mylist\_view.xml文件 首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建mylist\_view.xml,
Android的Surface的创建
`ViewRootImpl`管理着整个view tree。 对于`ViewRootImpl.setView()`,我们可以简单的把它当做一个`UI渲染操作`的入口。 [http://androidxref.com/6.0.1\_r10/xref/frameworks/base/core/java/android/view/WindowManagerImpl
Django中的session的使用
一、Session 的概念 ============= * cookie 是在浏览器端保存键值对数据,而 session 是在服务器端保存键值对数据 * session 的使用依赖 cookie:在使用 Session 后,会在 Cookie 中存储一个 sessionid 的数据,每次请求时浏览器都会将这个数据发给服务器,服务器在接收到 sess
Mybatis中的jdbcType的作用
[Mybatis中的jdbcType的作用](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fwww.cnblogs.com%2Fpanxuejun%2Fp%2F6163779.html) ====================================================
PHP的cookie与Javascript的cookie的关系
PHP 读写cookie的语句: setcookie("user", "Lilu", time()+3600); echo $_COOKIE["user"]; javascript读写cookie代码: function SetCookie(name,value)//两个参数,一个是cookie的名子,一
Servlet的Filter的使用
    Filter可认为是Servlet的“加强版”,主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。Filter也可以对用户请求生成相应,这一点与Servlet相同,但实际上很少会这样使用。使用Filter的完整流程是:Filter对用户的请求进行预处理,接着将请求交给Servlet进行处理并响应
Spring的AOP的注解的通知类型,切入点的注解
Spring的注解的AOP的通知类型 * **@Before:前置通知** * **@AfterReturning:后置通知** * **@Around:环绕通知** * **@AfterThrowing:异常抛出通知** * **@After:最终通知** * **@Pointcut:切入点的注解** 1 /**
springboot的整合springMvc中的postman的post中的form
package com.example.demomap.Controller; import com.example.demomap.pojo.ParaEntity; import org.springframework.stereotype.Controller; import org.springframewor