ECMAScriptweb前端的发展态势 浅识

 以前

  作为一个java程序员写的代码主要还是后台的代码,虽然初步之上前后端都写,但是呢是用他人去好之车轱辘来为此,学学html,css,js,jquery,再寻找一个前端ui框架学学,上手之后咱们就得写界面,写后大了,当然这仅是企业的后台管理项目,界面要求无是特意高,对于网站项目还是要前端童鞋来统筹,布局,写好html给到我们,我们转成jsp,或者各种模板引擎文件。这种模式对前者童鞋要求未是特意强,会规划,切图,就差不多了,什么前端组件化,模块化,自动化这些概念都没,可能是有些店铺从未沾到,大庄理应特别已经起执行了。那个时段常用的即是yahoo的yui,和jquery ui还有jquery一层层插件了之类。

  记得11年到12年之时节走端的支出特别恼火,很多人数犹转型去开native的开发了,那个时段移动端的开支工资特别强,但是本人无选做运动支付,而是选择安静的做个后台。

  那个时候多创业企业选择做产品的时刻首先会见于倒端发力,先做一个android版本的或者举行一个ios版本的,等到积攒得之用户量之后以针对多单阳台制定一个本子,因为众多出品或没有获有会做多个版就都坏了,所以一个产品或许发生ios,android,winphone,pc等本,需要差不多只集体来出一个成品。

  那个时候虽然为发出公司为此webapp(纯html5)和Hybrid来做运动端的开支,但是不少柜或揪心h5在性质与经验方面不苟原生的好,毕竟移动端最要紧的或者用户体验,是赶快,是流畅,那个时刻解决方案为远非如现在如此多,所以重重合作社要选择使用原生的开支。现在

  随着h5在活动端的行使更加多,前端超级火爆的情景下各种框架,各种解决方案层出不穷,一个尚无学会,另一个即使出了,乱消费渐入迷人眼,导致没有经验的前端人员还无知底应学什么好了。 看到网上发出童鞋总结了前者近几年之扭转,出来的轮子有些许,大家好感受一下。

  那些年,一度追拍,一度放弃

  下面,花片篇幅简单回顾下 09 年到 15 年前端的上进历程。

  09 年,基础类库完善,寻求突破

  09 年之前,JavaScript 还地处对我语言的周全过程被,而至了 09 年,JavaScript 类库已经颇为成熟,jQuery/Prototype/Script.aculo.us/Dojo 等还早已披露了好几只 stable 版本,各大类库也是彼此吸收优点,不断完善并提高我性质,然而功能及都没最多加的方向。部分框架初步了思维及的变型,更加珍惜前端开发的团伙同结构,条理性强了多,如 YUI,Dojo 等。

  从 ECMAScript 规范的争论,开启了浏览器引擎大战,各大厂商也乘机瓜分 IE6 份额,Chrome 和 Firefox 在及时会战役中取得小胜,V8 也敲响了前者的大门。为了投其所好市场之急剧竞争,IE 开始了升级的一起,09 年初公布 IE8,全面配合 CSS2.1。

  而这时,Node.js 和 3G Mobile 这片只有巨兽开始浮现出水面,Web 标准吧初步为 HTML5、ECMAScript5.0 靠拢。

  10 年,Web2.0 深入人心,开始性能挑战

  毫无疑问,这同样年,各大巨头都扣留清了 HTML5 是 web 发展之未来,在保存原来前端技术的状态下,都拥着拉扯 HTML5 的裙摆。富客户端应用为当马上同样年热火朝天生长,ExtJS/Dojo 摇身变为合作社级框架,各类组件化概念以及成品如约而至。

  延续在 09 年的变化,10 年的前端显得颇为沉寂,然而当正式的利用以及促进达成,各大厂商也是异常大力。IE 9 出来了预览第三版本,iPhone 的 Safari 已经会支持广大 HTML5 内容:Canvas/Video/Audio/Geolocation/Storage/Application Cache/Web SQL Database 等。

  W3C 宣布建立 Web 性能工作组,Google 及 Mozilla 纷纷推出用商店,浏览器调试工具为增长了四起,人们开始重复多地关心开发体验和特性问题。

  11 年,HTML5 抗大旗,Flash 堪忧

  2011 年 HTML5 的技巧进步与放大还向前迈进了平等良步,语义明确的签体系、简洁明了底富媒体支持、本地数据的仓储技术、canvas 等等各类技术让广泛应用。这无异于年,很多 web 开发者也面临相同件技术的取舍,HTML5 or Flash?从 Flash Player 11.1 开始,Adobe 不再继续支付面向移动设备浏览器的 Flash 插件,积极投身于 HTML5,这象征 Flash 技术的衰退。

  这同一年,HTML5 游戏可以至了一个高潮,他的低门槛和高收入为森开发者眼红,正因如此,移动端开发工具和调试工具为日渐成熟。jQuery 已经变成大小店铺通常支出之标配,成千上万的 JQ 插件让网页开发变得愈加轻松,而随之而来的也是页面的交汇和总体性调优的中肯探讨。

  Node.js 已经悄然崛起,在 github 上的访问量已超越了 Rails,国内的云应用开始尝试下 Node.js,Node.js 相关工具为纷纷下。

  12 年,响应式开发,工程化推进

  随着硬件技术之开拓进取,各手机厂商又起动荡起来,为了占据更多之商海,不断加强产品的性价比,体验呢取了不止的优化。借着先星星点点年 HTML5 刮起的东风,移动端上之 web 开发为颤抖了起来。移动端的开销挑战不低让 PC 上针对几近独浏览器的支持,这等同年,萌生了成百上千移动端框架,如 Sencha Touch/Zepto.js/JQ Mobile 等,相对 PC 端框架,它们更是简便易行。

  而动端的暴,带来了众极限开发难题:多终端适配,多分辨率适配,远程调试等等,而趁这些难题一个个吃解决,移动端生长的样子变得更为兴旺。此时 Twitter 也生产了 Bootstrap, 这个前端开发工具确保不仅有益于了前者,也有利了后端同学,它的起被高速建站更加简约。

  编程思想之切换,迎来了 CoffeeScript 和 TypeScript,这片个优先处理语言的面世同时为 JavaScript 引来了无数外可行性转型过来的开发者。JavaScript 的哥们儿 Node.js,也当命令执行领域开辟了同一切片不略之领土,甚至闹动摇 Perl 和 Ruby 地位之样子。

  于前者工程化上,几单派出相关相互打架,产出了 AMD、CMD、KMD 等标准,也衍生了 SeaJS、RequireJS 等模块化工具。前端在当时无异于年特别有跳跃感。

  
13 年,爆发式增长,百花齐放

  规范和专业上起好多并发。Web Components 的起给前端开发开辟了新思路;WebDriver 规范的出推动了自动化测试的经过,ECMAScript 6 的正儿八经草案落地,Webapp 工作小组在即时等同年啊是一定活泼。

  Chrome 浏览器在当时同样年呢发出了挺充分的突破,开始支持 SPDY,使用 Blink 取代 webkit 作为 Chromium 的新渲染引擎,Chrome DevTools 的调节体验大幅度提升。这无异于年遭受,Chrome 连同其他浏览器厂商快速推进了个草案规范之落实。

  语言能力上还是在滋长,并且由 JS 开始扩散及 CSS,出现了 LESS、SASS 和 Stylus 等预处理语言,Web 开发变得进一步严密。

  而在无线端,应用不再局限为 Webapp,由于流畅度、性能相当方面不能够满足用户体验的需求,各大企业开始倒车 Native 方向的研究,进而出现了 Hybrid 和 PhoneGap 的盛,它们为 JS 调用了供更多之设备 API。

  Node.js 大放异彩,很多店铺于生养环境被使 Node.js,同时为油然而生了像 Express、Meteor 等精制的快搭建 Node.js Server 的使框架。

  各浏览器的调节也是路层出不穷、功能丰富,PhantomJS 在自动化测试高达上马替 Selenium,出现了森的远距离调试方案及工具。

  前端工程化开始普及,各企业开产自己之前端集成开发解决方案。

  14 年,移动端的突出,HTML5 和 ES6 落地

  HTML5 正式杀青,这意味,web page 正式演变为 web application。ES6 华丽丽走上前前端,走之不行稳重,它的 Module/Class 等特色都全受这等语言有了开支大型应用的力量。

  大如注重的基本功库难以满足灵活场景,Mobile 要求最好体验,MV* 库铺卷而来,如 avalon/angularECMAScript 1ockout 等。

  Web Components 跨终端组件快速发展,移动端支出迎来一不行提高。Node.js 前后端分离之风行,中间层的起转移了左右端的搭档模式。

  2014 是颠覆式的一样年,前端发展以就无异于年开始变异了一个短跑的祥和格局。

  15 年,观念的变,步入前端工业化生产

  今年好扎眼之框架是,类 React。Facebook 在 React.js Conf 2015 大会上产了基于 JavaScript 的开源框架 React Native,它整合了 Web 应用以及 Native 应用之优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中因故 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。敲一软代码,能够运转于差不多个阳台及,其优势可见一斑。除了 React ,还有手机淘宝推出的 Weex 框架,它接受了 vue.js 的编程精华,编程风格更加简约。

  于过剩构建工具中,如今自然存活的连无多。体验完 grunt 和 browserify 后,gulp 顺势而到,尔后又并发了 webpack、jspm 等。而包管理工具,经历了 components、bower、spm 后,npm 开始着力整个市场。

  Node.js 的动都密密麻麻,各大商家前端都管 Node.js 作为分离前后端的重点招数,并且于测试、监控等方面沉淀了大量内容。不过,这个市场是生苛刻的,Node.js 的性难以达到 C/C++ 的水准,那么连下去要召开的尽管是只要升迁性能,至少得近乎 C/C++。

  虽然下的物多,但是各种东西各发各级的采用场景,还是得因需要选择相应的框架和化解方案,就像大家常说的非呢艺使技,为了工作要技(相信还是来不少童鞋感觉有东西高大上,而尚未太多着想试用场景,当做自己修及执行的使用生产环境条件受到吧)。

  所以现在创业公司开产品首选的应该是Hybrid来开活动开,一仿代码可以跑在动端浏览器,可以打包成android的app和ios的app(打包好了解cordova(首选),appcan, APICloud等等),后期在根据发展支出外的随pc web版本。这样一来不但节省时间本,也节省了钱成本,后期的掩护也止待保护一模拟代码,是无是觉得较前的多套代码好过多。

  自从14年本人直接很体贴前端的变动以及升华,所以自己道自己现在未克再次失h5的浪潮了,我当只有了解前后端才会有一个越来越完善的视野来开产品,来将一个东西做好,做技术选型的时呢越发得心应手了。虽然本人前也会有的前端技术,但是和现在大家经常说之大前端比起来,感觉还是会得最为少。

  我常常以品种强调前端优化的要紧,可能由于历史原因外童鞋并无以为然,那个时刻觉前后端都是因为自己来掌控多好。所以打现在初步发生时空就要好好学习一下大前端了。毕竟有基础,上手应该也急忙。希望于技能之道达,越走越远。