type
status
date
slug
summary
tags
category
icon
password
JS 的历史与特点
- 李爵士发明 HTML
- 赖先生发明 CSS
- 布兰登发明 JS
布兰登的生平
- 1961 年生于美国
- 物理学转数学与计算机学位
- 工作七年, 负责操作系统与网络开发
- 又工作三年, 负责微内核与电子信号处理的相关工作
- 1995 年进入网景公司, 为其浏览器开放了 JS 功能
- 1998 年协助成立 http://Mozilla.org,担任首席架构师
- 网景死亡后, 他成立了 Mozilla 基金会,Firefox 就是这个基金会维护的,有 纪录片 记录了这一过程
- 2014 年他晋升为 Mozilla 的 CE0, 十天后,被赶下台
- 原因是他曾捐助过反同性恋的法案(只有异性可以结婚)
- 2015 年成立 Brave 公司, 开发保护用户隐私的浏览器
一些启示
- 牛逼的程序员
- 从来不会只学一门编程语言
- 不怕被辞退, 总能找到事情做
- 很容易创业, 比外行人靠谱的多
- 可以干到 50 岁以上
- JS 诞生之初,只是一个不起眼的小功能
- 同时 JS 有很多 BUG, 我们学习的时候要注意辨别
JavaScript 的诞生
布兰登临危受命
- 公司要求给浏览器添加一个脚本功能
- 公司要求这个脚本必须蹭 Java 的流量
- 布莱登花十天设计了 JS 的最初版本(不是实现)
JS 的命名
- Mocha 摩卡 =>LiveSript=>JavaScript
- Java 既是编程语言,也是一种咖啡
- 浏览器一开始同时就支持 Java 和 JavaScript
- 后来,JS 胜了(在浏览器上)
浏览器大战
微软的跟进
- 1996 年 8 月 IE3 发布,支持 JScript(微软实现的 JS)
- 浏览器大战开始,每家浏览器的脚本不太一样
网景的反击
- 1966 年 11 月, 网景向 ECMA 提交语言标准吗由于版权问题,JS 语言标准不叫 JavaScript, 叫 ECMAScript
网景之死
- 微软的 IE 浏览器由于捆绑进了 Windows, 很快超越
- 1998 年, 网景浏览器节节衰退, 公司陷入内忧外患
- 同年, 公司打算搏一搏,将浏览器开源(Firefox)
- 最终,市场并没有因为开源而重新青睐王景
- 年底,美国在线 AOL 宣布开始收购网景
- 收购后, 网景团队里的程序员纷纷被解雇
- 布莱登在之后一直协助维护 Firefox 的运营
IE6 如日中天
你想象不到 IE6 多么火
- 2001 年,IE6 随着 Windows XP 一起发布
- 2004 年,IE6 全球市场占有率 80%以上
- 然而,这款浏览器却不兼容 W3C 标准(主要是 CSS)
- IE6 也不断爆出安全漏洞
- Firefox 打算涅槃重生,重新打败 IE
- 2005 年,IE7 发布, 但打不过 IE6
- 2006 年,主流浏览器为 IE6 和 Firefox
- 2010 年,中国的大部分浏览器还是 IE6
- 由于盗版 Window XP 在中国的风行, 在很多年里,IE6 始终占据中国浏览器市场,是前端开发者的恶魔
IE6 神奇 bug
下面代码会导致 IE6 直接崩溃
Chrome 横空出世
微软的懈怠
- 由于 IE6 的巨大成功,微软觉得再花费精力不值得,而且没有竞争对手,所以直接解散了 IE 6 的开发团队
- Firefox 的出现让微软重新组件 IE 团队,但不是同一个团队人,造成 IE7,8 一直问题不断
谷歌抓住机会
- 2004 年, 谷歌雇用了一些 Firefox 和 IE 的开发者
- 2008 年,Chrome 终于发布,迅速拿下 1%份额
- 2011 年,Chrome 的份额超过 Firefox
- 2016 年,Chrome 全球份额 62%
移动市场兴起
只能手机崛起
- 2010 年,iPhone 4 发布
- 2011 年, 微软和 Nokia 联合起来, 打算搞一波事情
- 后来的事情大家都知道,Nokia 手机业务完了
- 也就是说, 手机上基本没有 IE 了
- 前端程序员欣喜若狂,IE 终于快要死了
- 2016 年,淘宝天猫宣布 不再支持IE6,IE7了
- 同年年底, 宣布 不再支持IE8
- 移动市场的兴起,让中国前端摆脱 IE 十年的恐怖支配
- 从此,前端快速,不对,是急速发展
ECMAScript 标准的制定
时间
- 1997 年 6 月,第一版 ECMASCript 发布
- 1999 年 12 月, 第三版发布,这个版本使用广泛最广
- 第四版,流产
- 2009 年 12 月,第五版发布,增加了一些新功能
- 2015 年 6 月,第六版发布,新增浏览器都支持这一版
- 之后每年发布一版,版本号以年份命名
JS 与 ECMAScript 的关系
- ECMAScript 是纸上的标准,JS 是浏览器的实现
- 纸上标准往往落后于浏览器,先实现,再写进标准
JavaScript 的兴起
杀手级应用 Gmail
- 2004 年愚人节,谷歌发布 Gmail 在线网页
- 当时的人们认为网页只能用来看新闻和图片
- Gmail 的发布让用户和开发者眼前一亮
- 2005 年,Jesse 将谷歌用到的技术命名为 AJAX(概念)
- 从此,前端技术正式出现
- 在此前的网页开发都是有后端和设计师完成
- 2006 年,jQuery 发布,是目前最长寿的 JS 库
- 后来的十年,jQuery 大放异彩,直到 IE 不行了,jQuery 才稍微没有那么火
- jQuey 可以兼容大部分浏览器
JavaScript 的爆发
V8 快如闪电
- Chrome 的 JS 引擎叫做 V8
- 2009 年,Ryan 基于 V8 创建了 Node.js
- 2010 年,Isaac 基于 Node.js 写出了 npm
- 前端工程师可以在浏览器之外执行 JS 了,Node.js 快速风靡
- 同年,TJ 受 Sinatra 启发,发布了 Express.js
- 从此,前端工程师可以愉快地写后端应用了
爆发
- 这期间出来的技术太多:gulp, grunt, yeoman, requirejs, webpack, Angular, React, Vue 等
中国的前端
正式出现的时间
- 2010 年左右,中国才有专门的前端岗位
前端的来源
前端的来源
- 一部分来自自学的后端程序员,他们把 Java 的思想代入 JavaScript,面向对象成了 JS 的主流思想
- 一部分来自设计师,他们开始学习 CSS, 并独创了[重构工程师]岗位(现已没落)
缺人
- 最应该产出前端人才的大学,迟迟没有相关课程
- 由于早期前端工资比不上后端,所以大部分人选后者
- 就如同现在很多高材生选择机器学习一样
- 一些不小心进入前端领域的科班生成长非常迅速
总结
JS 是历史的选择
- 一开始浏览器支持很多 东西:Java, Flash, VBScript
- 只有 JS 活到最后
JS 的低开高走
- 一开始 JS 就是一个玩具语言
- 但是 JS 每次都走对了风口
学习 JS 时需要注意
- 旧的, 过时的东西了解就好, 靠前记忆一些
前端是进入互联网行业的捷径