sivagao / blog

blog of sivagao,每天一篇好文章~
https://sivagao.github.io/blog
611 stars 49 forks source link

JavaScript 社区的新趋势(2016) #45

Open sivagao opened 7 years ago

sivagao commented 7 years ago

JavaScript 社区的新语言,新趋势

PS:本文会加工为PPT,在腾讯 AlloyTeam 2016 前端大会,作为 lightning talk(10min)快速分享下~ 感谢稀土

大家好,今天给大家带来的分享是JavaScript生态的新趋势。ppt1(cover)

我个人的经历是百度/豌豆荚/广发证券。算是全栈工程师,大概半年前也在这里分享过广发 Node.js的实践,平时会把自己喜欢的技术文章分享到稀土掘金上,所以这次掘金的朋友让这里做下这个闪电演讲。ppt2(about me & xitu)

由于项目开发需求我离开过前端一阵子,当我回来重操旧业,立即被一个悲催事实吓到:所有东西都变了!相信大家对最近火热的2016学习JavaScript是什么体验这篇文章还印象深刻,的确各式各样的新东西。ppt3(js 多元)

PS: 尽管大部分时间,这种更迭是增量的。(ppt3-b 盖住前面的) 社区中有些人感到fatigue!!就是 我们认识速度跟不上社区创新更迭的速度,慢慢就疲劳麻痹了。

![Uploading 27BEBCAD-64FF-4414-ACDE-F4005881FF82.png…]()

为什么 - (ppt4 - 螺旋上升和state of )

为什么呢?我们在构建复杂的应用。它在数十种浏览器中数以百计的设备上要良好的运行,不同的屏幕尺寸不同操作系统不同的WebView),要应对糟糕的网络环境如电梯地铁,甚至是要对盲人等,都能deliver良好的体验。

有许多可行的方法来实现所有这些目标。新的平台能力(v8, chrome, web components, Progressive Web Apps),来自于其他社区的新思路(mvvm, virtual dom, immudate data的等), 我们新实践新潮流会引入新问题,从而循环往复,推着整个技术圈往前波浪式螺旋的发展。

![Uploading C2A09029-BE5A-4EE3-8639-571B429294CE.png…]()

而一个大型的工具生态系统已经出现 - 每一个从不同的角度攻击不同的问题。 接下来的趋势来自于 state-of-javascript调查问卷的开放数据:

state of js - 选择篇

一页ppt展示『 javascript flavors front-end frameworks css tools build tools 』 目前的不同选择。相信大家都有所耳闻

语言之选

当谈论“JavaScript”时,我们不只是在谈论单一的语言:它实际上更像是一个密切相关的表兄弟家庭。

ES6是新的标准。CoffeeScript已经过去了。新的JavaScript风格即将到来。 ES6与React,TypeScript与Angular 2,两大框架的站位让趋势更加明朗。

框架之争

不能错过 React. Vue 越来越流行(因为国人?) Angular 2 > Angular. 吸引着大量的关注

样式工具

SASS / SCSS是目前主流。 CSS Modules 也许值得研究。 在React中的CSS: - 如果你想构建可以在其他React应用中可使用的可移植React组件,CSS in JavaScript 是你的最佳选择。 除了CSS Modules,还有 Aphrodite。

构建工具

Webpack和Gulp是闪亮的未来。 Grunt可能成为过去的东西

Webpack用户与ES6,React,React Native和Redux重叠 - happy family Rollup - 声称生成比Browserify或Webpack更小的包,值得关注。 (成为ionic2的default,声称在 es6 module 使用更好,webpack2 开始集成 tree-shaking)

JS 新趋势

ppt6 哇,这和我几年前刚入门前端的时候已经完全不一样、

极限编程的创造者肯特贝克 说过: “让它工作,使它正确,使它快速。” “Make it work, make it right, make it fast.” — Kent Beck 就是快速迭代,快速试错嘛。 在过去的20年,我们专注于使 Web能 Works~

工具正在被爆炸式的发展, 如果你想知道 JavaScript 社区生态朝着什么方向发展,你可能会去关注现在什么特性和工具正在快速流行被高度评价。

PS:社区中每个人都在拼了命的去做的更好,而且这个不是被大公司所夹持的,而是社区力量决定它的。。。

下面是这些特性:3代表Nice-to-have的,越高越代表是主要feature,越低代表没那么需要。

The Cambrian explosion of tools you see around you is what rapid progress looks like when it’s not controlled by an Apple or a Microsoft. Everyone’s scrambling to make it right, and to make it fast, all at once.

接下来我们分别看看看那这些技术点。

打包构建

来解决代码越来越复杂臃肿后的切分压缩传输问题

专注于提升复杂应用编码效率。

PS:『当您更改文件时,服务器将仅向客户端发送更改(以及可能是其依赖关系)。 “热感知”的模块(导入/要求彼此的文件)然后可以在新代码到达时采取动作来使用新代码。』HMR works by watching changes to files, and signaling the browser to replace specific modules, or functions, but not reload the entire page. The major benefit of hot module replacement is that state is not lost – if you’ve had to perform a number of actions to get to a specific state, you won’t perform a full page refresh and lose the history of those actions.

数据交互是单页应用的核心功能点。

事实上上面特性不仅仅是体验上的,结合刚才提到的状态管理工具和新应用开发框架的特性,这些实施起来会变得相对容易并逐渐变成应用开发的标配。 PS:新框架新的工具库正在让这件事变得容易,从而

语言应用

不得不说,JavaScript 变得不再是我们熟悉的犀牛书(第五版)中样子了。

1.5+2+1.5*4min

光明的未来 - Fatigue Fatigue

哇,我们应该感到高兴,蓬蓬勃勃发展的社区解决各种各样的问题,让整个圈子都往前一大步。

不要疲于追赶新技术,你完全不需要知道所有,因为两个月后它就过时了。不要因为某些东西看起来很酷就引入,像Redux(在小项目中为什么我加个小功能需要改三个文件?!!Why do I have to touch three files to get a simple feature working?) 但是 The myth of the “Real JavaScript Developer”

最后值得庆幸大部分人还是认为JavaScript正在向着一个好的方向去发展。我今天的分享就是这样,谢谢大家~

Reference

2016/04/12 永不停步(折腾死人)的JavaScript 生态 2016/04/07 展望 Javascript 2016年的趋势和生态发展 The State of JavaScript in 2016 The myth of the “Real JavaScript Developer” JavaScript Fatigue Fatigue