前言2017年底临近,总希望盘点一下这一年前端的发展。至此,前端井喷期即将结束。与几年前不同,这里总会有层出不穷的新鲜事物不断涌现。同时,前端技术也逐渐趋于稳定,形成了自己的体系。如果喜欢我的文章,请点赞,欢迎Star~。欢迎来到我的github博客文章我们从哪里开始?自然离不开三驾马车。自2015年react问世以来,三驾马车开启了三驾马车的时代。与此同时,jQuery也逐渐放弃了它的统治地位。随后,angular开始了大规模改版,似乎想要追上react的步伐。两种截然不同的思想的体现,在前端开发的技术栈中大放异彩。同时,Vue犹如一匹黑马,一路披荆斩棘,突飞猛进。因此,从2017年开始,三驾马车可以说是并驾齐驱。看来还需要一些对比数据来说明他们的现状。(国外数据)可以看到react的深紫色最多,说明用户对react还是很满意的。虽然早期的React受到了协议的影响,但这似乎并不影响它在开发者心目中的地位。另外,react如此火爆的另一个重要原因应该是ReactNative。从今年年初开始,ReactNative以每两周一次的小版本变更周期发展迅速。或许,2018年将迎来最重要的1.0正式版。(这个还是值得期待的)对于大部分开发者来说,学习React会直接帮助他们学习ReactNative,所以一般的国外开发者不会拒绝学习React这个框架。介绍完之后,我们可能会回过头来看看React的情况是Angular的情况。Angular可以说是第一个问世的MVVM框架。2009年,Angular一鸣惊人,震惊了前端开发者。当时,W3C似乎还没有推出正式的WebComponent标准。React和Vue仍处于婴儿期。可以想象,Angular在之后的几年里一直影响着后续前端的发展。但是,Angular存在的诸多问题,也使其在随后的框架大战中处于劣势。2016年9月正式推出的Angular2将Angular引向了另一种形式——以HTML为中心的框架。一套完整的表现形式,包括TypeScript+RxJS等组合,可想而知,一套内容的学习成本是相当高的,这与React以JS为中心的思维完全不同。不过,谷歌似乎这次把框架的定位目标换成了企业。国内外的银行和证券公司都经常使用这个框架。不过,它的发展还是被看好的,毕竟背后有一批谷歌顶尖的开发工程师!!最后,让我们来看看三驾马车中的黑马——Vue。从第一张图来看,虽然React一直处于领先地位,但Vue2的使用很快就会与其他两个框架并驾齐驱。毕竟在国内的前端环境中,Vue可以说是非常火了。(据说印度会用Angular开发前端,中国人会用Vue开发前端。)不得不说,Vue和Weex的结合,虽然体验不如RN,不过有阿里的技术支持,还是有希望突破的。如果PWA在国外,今年你听到的热词肯定少不了PWA。不久前,Safari已经开始支持PWA,这意味着PWA的时代不会太遥远。当然,国内实践PWA的公司也不在少数,比如饿了么、阿里等,从去年开始就有所耳闻,再到今年谷歌开发者大会上的现场演示,相信更多开发人员对这项技术充满热情。对于国内的开发者来说,唯一不好的优势应该就是文档了。因为目前大部分文档都存在于GitHub或者英文的国外书籍中。翻译的书不会这么快出来,所以研究PWA的中文资料很少。但我相信在未来一两年它的发展会很强劲。今年国产小程序在中国被称为“小程序元年”。从一月份开始,微信小程序正式开启公测。随后从7月份开始,支付宝也推出了相应的小程序。在中国,这样重要的消息不容忽视。两大巨头的较量,促成了无与伦比的流量红利。基于小程序的开发也将成为国内前端的一大关注点。将原有的整合内容逐步拆分成小模块,放到微信大环境中进行分享,最终起到引流的作用。回到技术层面,小程序可能和PWA一样的思路,将之前在移动端难以为继的web端,放到自己的应用中,保证其长期稳定。更要说的是,两者的作用是一样的。同样,这个技术在2018年会继续发展,同时,更多的前端会投入到这个发展中。styled-components技术也是从上半年开始就听说过的。主要作为react库的衍生品。它将css部分的代码以js的形式展现在代码中,然后只需要开发js就可以完成整个应用的开发。同时,它还有另一个优势。它的风格是基于组件的,所以可以重复使用。同时,在css中使用js变量也常常让人头疼。而styled-components很好的解决了这个问题,因为它自己在components中开发样式,在css的一些代码中仍然可以使用js变量。这个技术也是很期待的,因为越来越多的人开始在自己的react项目中尝试这个技术。Rollup这是什么?没错,又一个模块打包器来了。或许,大家对模块打包工具webpack比较熟悉。今年4月,React有了一个大动作——在React的主分支上合并了一个PR,将当时的构建工具换成了Rollup。可想而知这东西会有多重要。好奇它和其他的有什么不同!它是一个基于ES2015模块的打包器。以往的打包工具(包括webpack)都是按照CommonJS规范来打包模块的。所以,以前很多库总是在一开始就填充了很多webpack之类的自己的逻辑。Rollup不一样,他是birth后的,birth的参考点说明它的高度不会局限于此。不过相比于巨头webpack,今年可能不会体现出优势,但相信会稳扎稳打。建议:开发应用时使用webpack,开发库时考虑Rollup。GraphQL在国内可能很少听说。不过,它仍然是一项不错的技术,同时,它在调查中也展现出不错的潜力,如图:它是Facebook开发的一种API查询语言,或将在后端取代Rest。虽然,目前它的性能还不是特别好,而且会不断的出现BUG。然而,2018年可能是GraphQL的一年。那么,它跟前端有什么关系呢?别忘了,我们手里还有一把利器NodeJS!你可以好好利用它,可能会方便你开发nodeJS。TypeScript,微软老大开发的语言,处处弥补了JavaScript的不足。一出世就打着“取代JavaScript”的旗号,发展速度也是惊人的。当然,W3C也在努力推动JavaScript的进步。未来几年,应该是两种语言的发展。因为发展人口多,不可能走到谁代替谁的地步。最后贴一张Stackoverflow上的统计表!图片来源:我刚刚询问了23,000名开发人员他们对JavaScript的看法。这是我学到的。综上所述,我们盘点了过去一年前端的发展。不断有好的新技术被引入。相信前端会发展的越来越好。因为在JSConf大会上,有人说未来会发展成“前端+云”的组合。那么,就没有全栈开发这回事了。前端开发的朋友们,加油!!如果您对我写的内容有任何疑问,我们鼓励您发表评论。如果我写的有错误,请指正。如果喜欢我的博客,请关注我~github博客
