CodeGym /课程 /Frontend SELF ZH /Frontend的历史

Frontend的历史

Frontend SELF ZH
第 3 级, 课程 1
可用

4.1 Web开发历史:从HTML到HTML5和CSS3

90年代初,世界见证了Tim Berners-Lee带来的Web开发的诞生。他可是第一个Frontend开发者:自己发明了HTML并用它写代码,还创造了第一个浏览器。真正的前端人连没有浏览器都不怕。

那时候还没有CSS和JavaScript,所以做网站比较简单。可以说,Tim Berners-Lee是第一个old school的开发者,在JavaScript和CSS之前就搞Frontend。

Web开发的历史

1995年,Internet Engineering Task Force (IETF)确认了HTML 2.0作为第一个正式的HTML标准。这个版本包含了创建基本网页所需的主要标签和属性。HTML 2.0为Web开发的进一步发展奠定了基础。

HTML 3.2和HTML 4.0:能力扩展

1997年在HTML历史上是个关键阶段。这一年发布了由W3C开发的HTML 3.2。这个版本支持表格、Java小程序和数学公式,极大地扩展了Web开发人员的能力。

同年晚些时候,HTML 4.0问世,带来了显著的改进。添加了CSS支持、改进的语义和新元素,使HTML 4.0成为创建更复杂和结构化网页的强大工具。引入CSS使得开发者可以将内容和样式分离,这简化了样式管理和设计实现。

CSS:网页样式化的革命

第一个标准CSS (Cascading Style Sheets)由W3C在1996年发布。CSS允许开发者为HTML文档做样式化,将视觉元素和页面结构分离。CSS1提供了基本的文本样式化功能和背景图像。

1998年推出了CSS2,增加了新的功能,比如媒体查询支持、绝对和相对定位,以及更复杂的打印样式。

CSS3在2011年开始出现,具有模块化架构。这允许逐步引入新功能,包括动画、渐变、变换和改进的布局。

HTML5:Web开发的新纪元

由WHATWG和W3C联合开发的HTML5,是一次重大更新,并于2014年正式发布。HTML5增加了对多媒体(视频和音频)的支持、新元素以改善语义(比如<article>,<section>,<header>,<footer>),改进的Web表单格式以及用于图形和多线程处理的新API。

HTML5大大扩展了Web开发人员的可能性,使得创建更互动和动态的Web应用变得容易。多媒体元素和新API的支持使Web应用更强大和多功能。

4.2 从jQuery到Angular和React

随着互联网速度的提高,网页也变得更重。它们包含更多的CSS和JavaScript。为了简化其编写,开始使用各种库。其中最受欢迎的就是jQuery。

jQuery: 方便的JavaScript工作

jQuery由John Resig创建,并于2006年1月在纽约的BarCamp会议上发布。jQuery的目的是简化与HTML文档的交互、事件处理、动画和Ajax交互,以实现快速的Web开发。

jQuery迅速流行起来,因其简单和直观的方法隐藏了使用JavaScript和跨浏览器问题的复杂性。其主要功能包括:

  • 选择器,允许轻松查找和操作DOM元素
  • 简单的事件处理
  • 动画和效果
  • 与Ajax集成以创建互动网页

jQuery改变了Web开发的方法,使得开发者更容易和便捷。

Angular: 引入动态Web应用

随着网页复杂度增加,Angular框架应运而生。AngularJS由Google在2010年10月发布。项目由Misko Hevery和Adam Abrons创建,以简化动态单页应用(SPA)的开发。

AngularJS提供了强大的客户端开发工具,包括:

  • 通过指令进行声明式数据绑定
  • 内置的HTTP请求服务
  • 双向数据绑定,允许view自动更新模型的数据更改
  • 模块化和可测试的代码

2016年,Google推出了完全重新设计的版本Angular(Angular 2及以上),成为使用TypeScript开发可扩展和高性能Web应用的平台。

React: UI渲染的革命

React由Facebook的Jordan Walke创建,并于2013年3月首次发布。React是对Facebook对提升性能和支持复杂用户界面的需求的回应。

React引入了基于组件和虚拟DOM的用户界面开发新方法:

  • 组件化结构,允许创建可重用和独立的组件
  • 虚拟DOM,优化界面更新,使其更快速高效
  • 单向数据绑定,简化了调试和应用状态管理

由于其性能和灵活性,React迅速流行,并成为许多现代Web应用开发的基础。它也是其他库和框架的基础,比如用于移动应用的React Native。

这三种技术——jQuery, Angular和React——在Web开发演变中起到了关键作用,每一种都带来了独特的方法和工具,极大地简化了现代Web应用的创建。

4.3 Node.js, Electron, React Native

HTML5, CSS3, JavaScript 2016变得如此强大,Web冲出浏览器的框架,成为一个完整的Frontend Fullstack技术。第一个感受到这种变化的就是后端。

Node.js: 后端的占领

Node.js由Ryan Dahl创建,并于2009年5月首次发布。Node.js的主要目标是提供一个JavaScript运行环境在浏览器之外,这使得JavaScript可以用于服务器端开发。Node.js基于Google的V8引擎,提供高性能和快速的执行速度。

Node.js使用非阻塞I/O(input/output, 输入/输出),允许同时处理多个连接,而不阻塞主执行线程。此外,它有一个通过npm(Node Package Manager)访问的大量模块生态系统,简化了开发和各种库和工具的集成。通过V8引擎,Node.js提供快速高效的请求处理。

Electron: 桌面的占领

为桌面写一个酷炫的UI可不是件容易的事,不过如果能用HTML5+CSS3就好了…所以程序员们想出了一个小妙招:你的应用打开主窗口,在这个窗口中嵌入一个浏览器(VebView组件),然后在这个浏览器中加载HTML5、CSS3 + JavaScript代码。

Electron库,最初名为Atom Shell,由GitHub为代码编辑器Atom创建。Electron的第一个版本在2013年7月发布。Electron的目标是允许开发者使用HTML、CSS和JavaScript创建桌面应用。

Electron允许创建可以在Windows、macOS和Linux上运行的应用,而且使用同一套代码。Electron结合了Web技术的能力和Node.js的强大功能,可以访问文件系统和其他系统资源。开发者可以使用现有的Web框架和库来创建界面和功能。

React Native: 移动应用

React Native由Facebook开发,并于2015年3月首次亮相。React Native的目标是提供使用JavaScript和React创建iOS和Android原生移动应用的能力。

React Native使用原生组件,提供与原生应用相媲美的性能。同时,开发者可以编写在iOS和Android上都能运行的代码,极大地简化了开发并减少了维护时间。

和Electron的情况一样,移动应用的整个窗口中打开的是VebView,加载的是用HTML5、CSS3和JS写的“网站”。大家都以为移动应用会取代手机上的网站,但实际上事情正好相反:网站开始取代本地应用。

今天,Frontend Fullstack Software Engineer是全球最热门的IT职业。因此,选择成为Frontend开发者是一个正确且前瞻的决定!

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION