前台简史:关于前台开发那点事

  • 时间:2019-06-11 06:06 作者:前端项目部 来源:前端项目部 阅读:730
  • 扫一扫,手机访问
摘要:前台技术的发展可谓是日新月异,短短不过十几年已经从野蛮生长走向了技术化和现代化,甚至引领了IT界的潮流。同时,随着前台开发技术不断普及,代码量也在飞速增长,伴随这一变化的是相对应的构建工具的快速成长。看似仅有短短几年历史的前台开发,其实技术起源相当深远。时间可以从1990年的网页浏览器诞生算起。自1

前台技术的发展可谓是日新月异,短短不过十几年已经从野蛮生长走向了技术化和现代化,甚至引领了IT界的潮流。同时,随着前台开发技术不断普及,代码量也在飞速增长,伴随这一变化的是相对应的构建工具的快速成长。

看似仅有短短几年历史的前台开发,其实技术起源相当深远。时间可以从1990年的网页浏览器诞生算起。自1990年英国科学家TimothyJohn?Berners-Lee?第一次用互联网浏览器访问网页至今已经有28年的历史了。

今天就带你一起总结一下,前台发展诞生过程中的那些重要节点。

从无到有

1989年,在欧洲粒子物理试验室的IT部门工作的TimBerners-Lee向其领导提出了一项名为InformationManagement:?AProposal的提议:使来自世界各地的远程站点的研究人员能够组织和汇集信息,在个人计算机上访问大量的科研文献,并建议在文档中链接其余文档,这就是Web的原型。

随着Tim推广,美国国家超算应用中心开发了名为Mosaic的浏览器,并于1993年4月发布;第二年第一届万维网大会在日内瓦召开,同年7月,Html2.0规范发布,11月网景成立并发布第一代浏览器,改名为Navigator。1994年底,W3C成立。此时,进入静态网页时代。也就是web1.0时代。

开始崛起

1995年网景工程师BrendanEich?花了10天时间设计了JavaScript语言。与此相对的是,1996年,微软发布了VBScript和JScript。

js的诞生,可以说是开启了动态网页的时代,为了使得Web更加充满活力,以PHP、JSP、ASP.NET为代表的动态页面技术相继诞生。

直到Google分别在2004年和2005年先后发布了两款重量级的Web产品:Gmail和GoogleMap。这两款Web产品都大量使用了AJAX技术,不需要刷新页面即可以使得前台与服务器进行网络通信,颠覆了客户体验,这也表现了Ajax的最大的特性就是局部刷新。Ajax的流行,是我们进入了Web2.0时代,也就是用户端更方便的向服务端发送信息。

全面爆发

然而,随着浏览器大战的愈演愈烈,不同的浏览器执行不同的标准,对于开发人员来说这是一个恶梦。为理解决这个问题,众多兼容性js框架诞生,JQ在众多同类中脱颖而出,独领风骚,几乎成了业界的标配。

但是随着Web应用的增多,旧的标准难以满足需求,在2008年1月22日,H5草案发布。在2010年4月,乔布斯发表一篇题为“对Flash的思考”的文章,指出随着HTML5的发展,观看视频或者其它内容时,AdobeFlash?将不再是必需的,同时H5的WebWorker可以让JavaScript运行在多线程中,WebSocket可以实现前台与后端的双工通信,WebGL可以创立Web3D网页游戏……

2009年,Ryan利用Chrome的V8引擎打造了基于事件循环的异步I/O框架——?Node.js诞生。Node的出现使前台的职能进一步扩大,前台正式进入服务端。因为语言的特性,我们很难用一种语言去实现前后台的开发。Node的出现,扩展了js语言的特性,它更重要的是构建了一个庞大的生态体系。使得js大有一统天下之势。

2010年1月,NPM作为Node.js的包管理系统初次发布。我们可以按照CommonJS的规范编写Node.js板块,而后将其发布到NPM上面供其余开发人员使用。Npm是世界上最大的包板块管理系统。关于Node的框架有很多,有Express、koa、Sails、egg。

谈到了板块化,就不得不明确目前板块化方案带来的优势

板块的定义:

这里我们可以了解成实现特定功能的相互独立的一组方法

为什么要使用板块化:

具备可维护性、命名空间以及可复用性

板块化规范:

CommonJS

CommonJS扩展了JavaScript公告板块的API,通过CommonJS,每个JS文件独立地存储它板块的内容(就像一个被括起来的闭包一样)。在这种作用域中,我们通过module.exports语句来导出对象为板块,再通过require语句来引入,如:

?

AMD

提倡依赖前置,在定义板块的时候就要公告其依赖的板块,如:

?

CMD

CMD规范是国内SeaJS的推广过程中产生的提倡就近依赖(按需加载),在用到某个板块的时候再去require,如:

?

UMD

AMD和CommonJS的结合,跨平台的处理方案,UMD先判断能否支持Node.js的板块(exports)能否存在,存在则使用Node.js板块模式。在判断能否支持AMD(define能否存在),存在则使用AMD方式加载板块,如:

?

Module(es6)

原生JS(es6)处理方案,如:

?

04

写在最后

前台是一个年轻而充满潜力的领域。

早期的前台开发受制于场景和环境,功能相对单一,但随着互联网的发展,前台变得越来越重要且复杂。以前后台开发工程师即可以搞定的画面,现在需要一两个甚至几十个前台工程师协同才能完成。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2025含金量排名前十计算机专业证书(2025-10-15 20:51)
【系统环境|】你有白帽众测 我有黑帽雇佣(2025-10-15 20:50)
【系统环境|】印度理工学院成功开发出针对5G网络攻击的最新软件解决方案(2025-10-15 20:49)
【系统环境|】道德黑客与黑客教程(2025-10-15 20:49)
【系统环境|】苹果翻车!macOS 15 竟藏“后门”,黑客能直接偷你所有密码(2025-10-15 20:47)
【系统环境|】解密“被墙”玄学:为什么我的网络方案能做到长期稳定?(2025-10-15 20:46)
【系统环境|】NAS软路由/防火墙/网络安全需要注意哪些?如何保护你的网络设备(2025-10-15 20:45)
【系统环境|】你真的理解防火墙吗?(2025-10-15 20:44)
【系统环境|】苹果手机一键换机教程详解(2025-10-15 20:44)
【系统环境|】二手iPhone到手后怎么快速验机?(2025-10-15 20:43)
手机二维码手机访问领取大礼包
返回顶部