近几年前端技术盘点以及 2016 年技术发展方向

黑帽SEO 2019-07-16 07:28

W了几十个春秋,风起云涌,千变万化我很庆幸自己没有地经历过这些年头,而是站在前人的肩膀上行走W发展的速度让人感觉那几乎不是继承式的迭代,而是一次又一次的变革,一次又一次的创造这几年的,更为之甚!我从年底开始接触前端,年之前的前端发展情况只能从上一辈的笔触中领会会盘点从年开始到年间前端技术的革新,同时也会从多个角度,解读近几年前端技术发展的潜在因素,其中穿插了若干对前端演进的拙见,难免会有错误和疏漏,望读者可以补充和斧正那些年一度追捧,一度放弃下面,花一些篇幅简单回顾下年到年前端的发展历程(感谢法海师兄对文章部分内容的校稿,很多技术出现的时间有所偏差,但不影响阅读)年基础类库完善,寻求突破年之前,还处于对自身语言的完善过程中,而到了年,类库已经颇为成熟,等都已经发布了好几个版本,各大类库也是相互吸收优点,不断完善并提高自身性能,然而功能上已经没有太多增加的势头框架开始了思想上的转变,更加注重前端开发的组织和结构,条理性强了很多,如等从M的争执,开启了浏览器引擎大战,各大厂商也趁机瓜分份额,和在这场战役中取得大胜,也敲响了前端的大门为了市场的激烈竞争,开始了升级之旅,年初发布,全面兼容此时,和M这两只巨兽开始浮出水面,W标准也开始向MM靠拢年看齐标准,关注W性能毫无疑问,这一年,各大巨头都看清了M是发展的未来,在保留原来前端技术的状态下,都簇拥着拉扯M的裙摆客户端应用也在这一年蓬勃生长,摇身变为企业级框架,各类组件化概念和产品如约而至着年的变化,年的前端显得颇为沉寂,然而在标准的运用和推动上,各大厂商也是十分卖力了预览第三版,的已经能够支持众多M内容:W等W成立W性能工作组,和M纷纷推出应用商店,浏览器调试工具也丰富了起来,人们开始地关注开发体验和性能问题年M扛大旗,堪忧年M的技术发展和推广都向前迈进了一大步,语义明确的标签体系简洁明了的富媒体支持本地数据的储存技术等等各类技术被广泛应用这一年很多开发者也面临一项技术的抉择,M?从开始,不再继续开发面向移动设备浏览器的插件,积极投身于M,这意味着技术的凋零这一年M游戏火爆到了一个高潮,移动端开发工具和调试工具也日益成熟成为大小公司日常开发的标配,成千上万的插件让网页开发变得尤为轻松,而随之而来的也是页面的臃肿和性能调优的深入探索悄然崛起,在上的访问量已经超过了,国内的云应用开始尝试使用,相关工具也纷纷出来年响应式开发,工程化推进随着硬件技术的发展,各手机厂商又开始骚动起来,为了占有的市场,不断提高产品的性价比,体验也得到了不断的优化着先前两年M刮起的东风,移动端上的开发也颤抖了起来移动端的开发不亚于上对多个浏览器的支持,这一年,萌生了众多移动端框架,如M等,相对端框架,它们更加轻便移动端的崛起,带来了许多终端开发难题:多终端适配,多分辨率适配,远程调试等等,而随着这些难题一个个被解决,移动端生长的势头变得更加强盛也推出了,这个前端开发工具包不仅方便了前端,也方便了后端同学,它的出现让快速建站更加简单思想的切换,迎来了和,这两个预处理语言的出现又为引来了不少其他方向转型过来的开发者兄弟,也在命令行领域开拓了一片不小的疆域,甚至有动摇和地位的趋势在工程化上,几个派系相互争斗,产出了MMM等规范,也衍生了等模块化工具在这一年很有跳跃感年爆发式增长,百花齐放规范和标准上有不少产出W的给前端开发开辟了新思路;W规范的出来推动了自动化测试的进程,M的规范草案落地,W工作小组在这一年也是相当活跃器在这一年也有了很大的突破,开始支持,使用取代作为的新渲染引擎,的调试体验大幅度提升这一年中,其他浏览器厂商快速推动了各项草案规范的实现能力上依旧在增强,并且从开始扩散到,和等预处理语言开始走俏,W开发变得更加紧凑在无线端,应用不再局限于W,由于流畅度性能等方面不能满足用户体验的需求,各大公司开始转向方向的研究,进而出现了和的繁荣,它们为调用了提供的设备大放异彩,公司在生产环境中使用,同时也出现了诸如M等小巧的快速搭建的应用框架各器的调试也是种类繁多功能丰富,在自动化测试上开始取代,出现了众多的远程调试方案和工具工程化开始普及,各公司开始推出自己的前端集成开发解决方案年移动端的崛起,M和落地M正式定稿,这意味着,正式演变为丽走进前端,走的很稳重,它的M等特性已经完全让这门语言具备了开发大型应用的能力大而厚的库难以满足灵活场景,M要求极致体验,M库铺卷而来,如等W终端组件快速发展,移动端开发迎来一次升华端分离的流行,中间层的出现改变了前后端的合作模式是式的一年,前端发展在这一年开始形成了一个短暂的稳定格局年观念的转变,步入前端工业化生产今年格外引人注目的框架是,类在上推出了基于的开源框架,它结合了W应用和应用的优势,可以使用来开发和原生应用在中用操作系统原生的组件,代替M元素来渲染等一次代码,能够运行在多个平台上,其优势可见一斑,还有手机淘宝推出的W框架,它吸收了的编程精华,编程风格更加简约在构建工具中,如今潇洒存活的并不多完和后,顺势而至,尔后又出现了等包管理工具,经历了后,开始主导整个市场应用已经铺天盖地,各大公司前端都把作为分离前后端的主要手段,并且在测试监控等方面沉淀了大量内容,这个市场是很苛刻的,的性能难以达到的水平,那么接下来要做的就是要提升性能,至少得接近师兄;批注:对时间点的总结是,其实很多技术方案很早就出现了,只不过没有大规模应用,因此,对于上文中时间点的谬误,你可以将语句从「出现了」改成「得到广泛应用」其实我发现,问题在于一个技术领域的新起和发展并不是一年内能完成的,一个技术方案的出现和广泛应用也不是一年内能落地的,所以执着于以「年」为时间点来编史,会画地为牢W和标准最开始,我们看到的还只是一个简单的脚本语言,配合着,在网页上翻腾了好几个年头互联网趋势越来越明显,互联网业务量和业务复杂度不断增加,很多网页变得相当复杂,如让我们震惊了好一会儿的,交互复杂,体验优良为了更好的多人,代码中的库越来越大,在这些库中,基础部分的是对语言本身的拓展,比如给加一个函数,再加一个函数,再加一个W函数等等的业务中会经常看到一层又一层的回调处理,回调的嵌套让代码的可读性变的很差,而且很难将多个异步并行处理为了改变这种范式,我们做了很多的思考,使用事件监听,使用各种手段拉直回调,平坦地调用的,如果你在关注W小组的动向,会发现,那些被认可的,并且被广泛重复定义的东西,都被纳入了标准最开始的,主要是对浏览器做兼容处理,让开发者不再把精力放到浏览器的差异上;后者是对语言本身的拓展,对各种类型做拓展,并且提供了一套拓展任何对象的功能集现在的开发,我们很大程度上不再依托这些类库和标准已经把这些差异都统一了,中自带了WW等函数,自带了函数;规范的标准是为了让开发者得到更好的编程体验,编程不是目标,目标是将编程生产力转化成实际效益,越少的阻碍对开发者越有利各器厂商当然也认识到了这一点,他们不断地提升自己产品的体验,将标准中的新特性都融合进去,比如中的M等等在这些内容之前,我们不需要加入这些「不纯粹」的东西,而是添加两个和,如,等等山花烂漫时,再轻松删掉这些补丁程序已经不能满足当代人的沟通需求,音视频等富媒体传输走进了我们的生活,于是规范中也出来了WW等规范规范出来了,后续市面上就会根据规范来实现一套,这些提供了同样的,提供了同样的编程体验当器自我进化完成之后,这些也将成为历史,被开发者遗弃在代码的注释之中这些都是和标准的魅力,它的存在,就是让开发者把精力投入到自己的业务之中,编程和范式的工作交给它在这里;可以看到,W各个小组最近都在干啥不能囊括一切的自我完善和自我拓展技术的更迭过于频繁,我们能够清晰地看到,很多人还在用更迭前一波甚至是前好几波的产品的,在战场上鏖战了多个年头,依然屹立不到,而现在它在市面上依然有百分之一左右的占有率,这种小强精神不得不让人肃然起敬只要用户在,我们就得追随;,这可能是很多公司的服务理念,因为用户就是潜在的利润从支付宝到天猫到淘宝阿里巴巴在很多业务上已经主(;)动(ī)地放弃了对和的支持,甚至在统一接入层直接做了跳转,提示用户更新浏览器或者引导流量到无线端这是一个好的,我们期望这也是业界达成共识的开始!协议,从快速过度到了,整个互联网的上层建筑变的十分稳固,我也了解到依然有很多产品还是保持了的状态,据说电信公司的很多产品就是使用进行通讯,这无疑让人惊愕,除了多路复用,还有很多其他的优化,比如传输的数据为二进制流,头会被压缩处理,服务器可以向客户端推送内容等在这个技术水平指数式增长的年代我相信以后的革新不会比消灭痛苦加载上,经过了各派系的争论之后,流传下来几个不错的产品等,那么那个模块加载器将成为工具平台中短暂的终点呢?似乎这些都不是当我们按照规范中的方式进行定义,按照规范中的方式加载定义的模块时,加载这个流程就显得不那么重要了,因为这些事情最后都会变成的事情,最终会变成浏览器的固有属性当一个东西在中被暴力追捧的时候,会有很多衍生的产品出来,当这些衍生物根深蒂固时,可能又会出现一个更加原生更加符合开发习惯的东西出来,我们为它编写的插件不计其数,而在工程化的需求冲击下,它却显得那么的弱不禁风,因为它关注的点和当前的发展态势不太吻合,仅此而已M的发展着战场的转移记得当年拿着学完了M和的入门,那屏幕尺寸也就是三个手指的宽度,紧紧攥在手里看着页面混排效果极差的网页文档如今,都出到了,一个版本一个尺寸,而且尺寸越来越大,还有各种宽高不一的机器,种类繁多以前的屏是电阻式,只支持单点触碰;而现在电容式的触屏精度更高,还支持多指触控,这如丝般顺滑的体验在三四年前是完全体会不到的手机开一个程序久了就会卡,动不动还会自动重启;而现在的手机开一堆程序,完全无感知,这就是硬件发展前后的差异手机已经成为了人们生活中不可或缺的一部分甚至成为了一些人身体的一部分,淘宝今年双十一的数据显示,国内移动端的消费比例已经远远超过了端,占比庞大的用户,我们的技术是否做好了充足的准备,这里还得打一个问号W的流畅度和稳定性远远不如原生应用,同时它也无法良好地运用设备提供的原生功能,这些都是大家转投的原因的融合不同分辨率的手机,不同物理尺寸的终端,为了保持良好的视觉体验和用户体验,我们不得不为每一个尺寸写一份M代码,那么对应的,设计师也需要设计多套版式供前端使用,这给设计师前端和测试带来了无尽的麻烦,我们通过前端技术重塑屏幕,重新定义像素尺寸,使用流式布局,通过百分比来响应不同的终端尺寸这是的融合的M的技术发展方向上,应该是相当明确的公司都是三套人马维护三端的程序,和W,而这三端做的事情都是一样的,一样的界面,一样的后端接口,一样的交互方式为了能够快速响应的变更,我们不得不将三端合并为一端对待,用一套程序编程成三端代码,然后发布到三个平台上这也是的融合技术发展到此,绝对不是终点,它只是一个探路灯,给我们照明了方向技术需要为做保障,而好的技术是能够及时响应业务的变化,我们不可能投入大量的人力在W的修补工作上,通过开发统一工具,屏蔽端和端之间的差异,统一开发模式和开发体验,这才是M的未来,回到我们之前说的规范和标准,我们目前所做的「屏蔽差异」工作,今后,也会有统一的标准来规范,目前手机厂商没有这个共识,是因为还处于当年抢占市场份额的阶段的最终融合在于一个统一的标准,以及强有力的执行的融合我刚接触前端的时候,还没有听说「全栈」,W技术栈往小里说,包含了从前端设计交互前端实现网络数据传输后端实现后端运维和数据库等几个方面,能短时间内从无到有实现这么一套系统,并且能够抗得住一定流量冲击的人,我们可以称之为全栈工程师有架构有条理地实现这套系统,并且抗得住大流量有集成测试有监控的,这种我们可以称之为资深全栈工程师现在不这种人才,也不乏自吹为这种人的融合得益于的出现,作为前后端分离的桥梁,它拉近了前端工程师与后端的距离,有的人在这座桥梁上卖力行走,渐渐的也从前端走进了后端,甚至走进了后端的运维,前端也拥有了部署和发布整个应用的能力,这是一个质的突破使用,简单几行程序能实现一个服务器便能搭建一个多人聊天的网页,它的便捷性可见一斑的迭代,今年的被人嫌弃迭代太慢了(当然,这是表面原因),走出了一个分支,发展了一会儿,进度赶超了,后来觉得一家人不干两家活,又合并回去了上层几乎没有变化,但是底层却被翻了一个天的巨大漏洞,每隔一端时间就会暴露存在漏洞,这些漏洞的补救措施就是立即升级版本号,比较让人担心受怕意识不强烈,前端占领了中间层的开发,有的时候还干这后端的活儿,然而却没有后端沉淀多年固有的意识,测试和监控做的相当潦草从端的脚本语言纵身跃进进入了后端行列,而今也开始深入到移动端领域,确实是无孔不入,这可能就是语言的特性,也可能是技术本身就在寻求融合点,把有差异的地方全部躺平,然后用统一的方式去关注业务,关注用户和栈也在融合服务化,云数据,云安全用户体验变得越来越重要,响应式技术的发展也是后续网页应用的一大特点,端和端之间的差异只是在表现上,数据这一层差异不是特别大,很多应用和M共用一套接口,或者M的接口在接口的基础上做了一层包装,对接口字段做了些许删减为了响应各个端之间的数据需求,也需要关注数据的可利用性,接口包装的拓展性等,这是后端服务化的一个表现移动端的开发上,端间隙十分明显,越来越多移动端应用的发布已经脱离了后端,前端完全通过异步方式获取数据变化很快很快快,今天这个产品被并购,明天那个业务被砍掉,每个人负责的业务线可能冷不丁地就变了大公司的决策是由上往下的,上面微动,下面可能就是大动,可能某个部门就不存在了,也可能被划分成几个产品部门「大后台,小前台」的趋势必然形成,毫无疑问,在这个前台之中的特点是灵活的,多变的,可快速重组的对而言,为了响应前台的变化,需要提供更细粒化的,将数据打散,打得更加零碎,零碎的数据易于重组,这是在考验后端的架构能力,很多前端也都是半栈工程师,盘踞在前后端中间层上,然而如何迎接这种后端服务化的模式,似乎这个准备还是不够充足的出现场景跟类似,是前端应对不同场景的一种强有力手段,而则是后端应对不同需求场景的一次尝试,W将会成为W和M的一个中心点,前端基于后端的服务构建应用,这里面存在太多未知的问题需要探索,这是一个大数据下探索的新起点,也给前端开发者创造了无数的可能这几年网盘,各个云服务商都在抢占市场,有提供图片储存的,有提供静态资源缓存的,有提供大文件储存的,也有卖数据库服务的繁多,而归根到底都是,你付钱给我,我提供储存和安全,还提供方便的让你获取自己的数据云服务的是一套服务,它是把所有人的数据风险集于一身,用强硬的技术做安全防御云,了我们无穷的想象空间三辆马车,还差一辆开发功能对很多人来说是轻松活儿,基本的前端语言加些复杂的特效,实现成本不会很高;即便是搭建一个网站,使用社区中的框架也能够轻松实现极少人会去关注每个功能点的测试,一个项目下来基本看不到测试用例,更不用说会去做监控相关的事情就是,踏过了无数的坑洼之后终于上线了,而后续加功能的时候发现,加了东西就跑不通,新内容影响了之前的逻辑,只好去修复之前的逻辑,修好之后发现更早之前的逻辑又不通了,整个修复过程就像玩多米诺骨牌开发三板斧:功能测试和监控在上可以看到很多程序都加入了集成,这是一个好兆头,意味着我们写的程序也越来越健壮,至少贡献给世人使用的程序是健壮的程序的代码覆盖率也达到了,这些数据都是重视测试的证据,三辆马车,我们最后一辆依然没有开动起来公司都会有自己的平台,每个用户访问页面中的任何一个链接都会将用户信息和访问信息以日志形式收集到平台上,然后通过监控平台或者离线分析的方式,获取业务数据或者技术数据,进行分析和二次开发这些东西在大公司的很多,而这方面的东西在前端,尤其是使用做程序开发的前端身上,看到的并不多最后,我觉得技术上的新创造会稍微缓和些,这两年很多人已经被新技术冲击得有些找不着方向了,同一类东西,前者还没学完,后者就开始火爆了,紧接着又是一阵技术的凋零和新技术的出现,这样搞久了也会有一丝的疲倦的会关注,如何更好地服务多端,如何更大幅度地提升开发体验和用户体验,很多技术都会往性能往极致这个方向上钻研这里,感觉说的不通透,还有很多想说的,但是个人理解力有限,也难以表达全面技术的变化,今天说过的东西,到了明天就可能过时了我们未来,只能把现有的东西好好消化吸收下,留下一个话柄,给读者吧资料:年前端技术领域回顾;张克军:;崔康:;七武海:;李晶:;:;黄丹:;:;


上一篇:要优雅 不要污:苍老师们如何在搜索引擎中帮自己洗白?
下一篇:网站导出链接对网站优化都有哪些好处?