您的位置首页  网络科技  前端

前端发展简史

  Esri(北京)软件研发中心成立于2011年,它是Esri在美国之外成立的第一个研发中心,也是目前Esri海外最大的研发中心.。

  1989年,在欧洲粒子物理实验室(粒子物理研究通常与来自世界各地的研究所进行合作)的IT部门工作的Tim Berners-Lee向其领导提出了一项名为Information Management: A Proposal的提议:使来自世界各地的远程站点的研究人员能够组织和汇集信息,在个人计算机问大量的科研文献,并建议在文档中链接其他文档,这就是Web的原型。

  此时的网页以HTML为主,是纯静态的网页,网页是“只读”的,信息流只能通过服务器到客户端单向流通,由此世界进入了Web 1.0时代。

  1995年,网景工程师Brendan Eich花了10天时间设计了JavaScript语言。起初这种脚本语言叫做Mocha,后改名LiveScript,后来为了借助Java语言创造良好的营销效果最终改名为JavaScript。网景公司把这种脚本语言嵌入到了Navigator 2.0之中,使其能在浏览器中运行。

  1999年12月,ECMAScript3规范发布,在此后的十年间,ECMAScript规范基本没有发生变动。ECMAScript3成为当今主流浏览器最广泛使用和实现的语言规范基础。

  第一次浏览器战争以IE浏览器完胜Netscape而结束,IE开始统领浏览器市场,份额的最高峰达到2002年的96%。随着第一战的结束,浏览器的创新也随之减少。

  JavaScript诞生之后,可以用来更改前端DOM的样式,实现一些类似于时钟之类的小功能。那时候的JavaScript仅限于此,大部分的前端界面还很简单,显示的都是纯静态的文本和图片。这种静态页面不能读取后台数据库中的数据,为了使得Web更加充满活力,以PHP、JSP、代表的动态页面技术相继诞生。

  PHP(PHP:Hypertext Preprocessor)最初是由Rasmus Lerdorf在1995年开始开发的,现在PHP的标准由PHP Group维护。PHP是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收C语言、Java和Perl等流行计算机语言的特点,易于一般程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面。

  JSP(JavaServer Pages)是由Sun公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,从而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言为基础的。1999年,JSP1.2规范随着J2EE1.2发布。

  随着这些动态服务器页面技术的出现,页面不再是静止的,页面可以获取服务器数据信息并不断更新。以Google为代表的搜索引擎以及各种论坛相继出现,使得Web充满了活力。

  随着动态页面技术的不断发展,后台代码变得庞大臃肿,后端逻辑也越来越复杂,逐渐难以维护。此时,后端的各种MVC框架逐渐发展起来,以JSP为例,Struct、Spring等框架层出不穷。

  Google分别在2004年和2005年先后发布了两款重量级的Web产品:Gmail和Google Map。这两款Web产品都大量使用了AJAX技术,不需要刷新页面就可以使得前端与服务器进行网络通信,这虽然在当今看来是理所应当的,但是在十几年前AJAX却是一项性的技术,颠覆了用户体验。

  随着AJAX的流行,越来越多的网站使用AJAX动态获取数据,这使得页内容变成可能,像Facebook这样的社交网络开始变得繁荣起来,前端一时间呈现出了欣欣向荣的局面。

  IE在第一次浏览器大战中击败Netscape赢得胜利,垄断了浏览器市场。作为者,IE并不遵循W3C的标准,IE成了事实标准。

  Netscape于1998年被AOL收购前创建了Mozilla社区,Firefox于2004年11月首次发布,并且9个月内下载量超过6000万,获取了巨大的成功,IE的主导地位首次受到了挑战,Firefox被认为是Netscape的精神续作。

  之后Firefox浏览器一路奋起直追,逐渐蚕食IE市场份额,这引发了第二次浏览器战争。在2008年底时,Firefox的市场份额达到了25%以上,IE则跌至65%以下。

  第二次浏览器战争中,随着以Firefox和Opera为首的W3C阵营与IE对抗程度的加剧,浏览器碎片化问题越来越严重,不同的浏览器执行不同的标准,对于开发人员来说这是一个恶梦。

  其中,jQuery独领,几乎成了所有网站的标配。Dojo、YUI、ExtJS等提供了很多组件,这使得开发复杂的企业级Web应用成为可能。

  1999年,W3C发布了HTML 4.0.1版本,在之后的几年,没有再发布更新的Web标准。随着Web的迅猛发展,旧的Web标准已不能满足Web应用的快速增长。

  2004年6月,Mozilla基金会和Opera软件公司在万维网联盟(W3C)所主办的研讨会上提出了一份联合建议书,其中包括Web Forms 2.0的初步规范草案。建议举行一次投票,以表决W3C是否应该扩展HTML和DOM,从而满足Web应用中的新需求。研讨会最后以8票赞成,14票反对否决此建议,这引起一些人的不满,不久后,部分浏览器厂商宣布成立网页超文本技术工作小组(WHATWG),以继续推动该规范的开发工作,该组织再度提出Web Applications 1.0规范草案,后来这两种规范合并形成HTML5。2007年,获得W3C接纳,并成立了新的HTML工作团队。2008年1月22日,第一份正式草案发布。

  HTML5草案发布不久,Google在2008年12月发布了Chrome浏览器,加入了第二次浏览器大战当中。Chrome使用了Safari开源的WebKit作为布局引擎,并且研发了高效的JavaScript引擎V8。

  尽管HTML5在网络开发人员中非常出名了,但是它成为主流媒体的一个线月,当时苹果公司的CEO乔布斯发表一篇题为“对Flash的思考”的文章,指出随着HTML5的发展,观看视频或内容时,Adobe Flash将不再是必须的。这引发了开发人员间的争论,包括HTML5虽然提供了加强的功能,但开发人员必须考虑到不同浏览器对标准不同部分的支持程度的不同,以及HTML5和Flash间的功能差异。

  在第二次浏览器大战中,各个浏览器厂商都以提升JavaScript运行效率和支持HTML5各种新特性为主要目标,促进了浏览器的良性竞争。在这一场战争中,Chrome攻城略地,抢夺IE市场份额。2013年,Chrome超过IE,成为市场份额最高的浏览器。2016年,Chrome占据了浏览器市场的半壁江山。

  自2008年以来,浏览器中不断支持的HTML5新特性让开发者激动不已:WebWorker可以让JavaScript运行在多线程中,WebSocket可以实现前端与后台的双工通信,WebGL可以创建Web3D网页游戏......

  微软在1996年发布的IE 3.0中内嵌了自己的JScript语言,其兼容JavaScript语法。1997年年初,微软在它的服务器IIS 3.0中也包含了JScript,这就是我们在ASP中能使用的脚本语言。

  可以看到,JavaScript最开始就能同时运行在前后端,但时在前后端的待遇却不尽相同。随着Java、PHP、.Net等服务器端技术的风靡,与前端浏览器中的JavaScript越来越流行相比,服务端JavaScript逐渐式微。

  Node.js的出现吸引了很多前端开发人员开始用JavaScript开发服务器代码,其异步编程风格也深受开发人员的喜爱。Node.js的伟大不仅在于拓展了JavaScript在服务器端的无限可能,更重要的是它构建了一个庞大的生态系统。

  2010年1月,NPM作为Node.js的包管理系统首次发布。开发人员可以按照CommonJS的规范编写Node.js模块,然后将其发布到NPM上面供其他开发人员使用。目前NPM具有40万左右的模块,是世界上最大的包模块管理系统。

  Node.js也催生了node-webkit等项目,用JavaScript开发跨平台的桌面软件也成为可能。Node.js给开发人员带来了无穷的想象,JavaScript大有一统天下的趋势。

  随着HTML5的流行,前端不再是人们眼中的小玩意,以前在C/S中实现的桌面软件的功能逐步迁移到了前端,前端的代码逻辑逐渐变得复杂起来。

  随着iOS和Android等智能手机的广泛使用,移动浏览器也逐步加强了对HTML5特性的支持力度。

  移动浏览器的发展,导致了流量入口逐渐从PC分流到移动平台,这是Web发展的新机遇。移动Web面临着更大的碎片化和兼容性问题,jQuery Mobile、Sencha Touch、Framework7、Ionic等移动Web框架也随之出现。

  相比于Native App,移动Web开发成本低、跨平台、发布周期短的优势愈发明显,但是Native App的性能和UI体验要远胜于移动Web。移动Web与Native App孰优孰劣的争论愈演愈烈,在无数开发者的实践中,人们发现两者不是替代关系,而是应该将两者结合起来,取长补短,Hybrid技术逐渐得到认同。

  Hybrid技术指的是利用Web开发技术,调用Native相关API,实现移动与Web二者的有机结合,既能体现Web开发周期短的优势,又能为用户提供Native体验。

  2. 将HTML5代码针对不同平台编译成不同的原生应用,实现了Web开发,Native部署。这一类的典型代表有Titanium和NativeScript。

  Hybrid一系列技术中很难找出一种方案适应所有应用场景,我们需要根据自身需求对不同技术进行筛选与整合。

  在ECMAScript的各个版本中,ECMAScript 6.0无疑最受人瞩目的,它增加了许多新特性,极大拓展了JavaScript语法和能力,以至于许多浏览器都只能支持部分ES6中的新特性。随之,Babel和TypeScript逐渐流行起来,编写ES6代码,然后用Babel或TypeScript将其编译为ES5等浏览器支持的JavaScript。

  ECMAScript以后每年将会发布一个新版本,这无疑将持续促使浏览器厂商不断为JavaScript注入新的功能与特性,JavaScript走上了快速发展的正轨。

  Esri(北京)软件研发中心传承了Esri的最大使命:用创新突破的思维来研究最前沿的GIS技术,在三维GIS、移动GIS、云GIS等领域引领推动新型技术力量,探索未来GIS的发展模式,增强前沿技术实施能力,并将先进成果融入到ArcGIS产品中,让全球用户直接受益.

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186