上个月11、12号飞深圳参加了今年的JS开发者大会,头一次参加这种大会还是挺兴奋的,见到了一些以前只知道名字的大牛,也开阔了视野。前段时间在公司分别给组内和全公司做了分享,PPT做的老累了,就拿劳动成果凑一篇博客吧。
直接上PPT
PPT里大致讲了三部分:前端、后端、不知道什么端。其实大会的topic整体来说是比较偏后端(Node.js)的,涉及到前端的不多,对于纯前端的我来说其实很多东西是比较陌生的。所以在这个PPT里我其实把大会涉及到的一些前端话题做了延伸和展开,讲了一些自己的认识以及在项目中的实践。对于后端我基本上一笔带过了,因为确实接触不深。“不知道什么端”包含了一些利用JS做的非常有意思的应用,也包含大会期间的一些Lighting Talk。
谈谈React
React可以说是今年前端最火的话题之一了,借用一位演讲者的话说:“现在不谈React都不好意思说自己是前端”。其实在去深圳参加大会之前,也在上海的很多Meetup上听过不少React的分享。最先听到的点就是:“React比Angular要快好多”,对于深受Angular效率之痛的我还是挺有吸引力的。可是深入了解了以后发现其实这种“快”也是要看场景的,特别是前几天看了知乎的这个回答后,体会更深。即便如此,不得不说React的很多想法很新颖,对于现在前端存在的不少问题也有自己独特的解决方案,这些特性(JSX,Virtual DOM)以及衍生的思想(Immutable Data,GraphQL)也是我在PPT里重点介绍的。说到底React其实只是View,与Angular这种大而全的framework不同,它只能算得上是library,要用React写应用还是得上Flux。Flux不是一种框架,它是一种与MVC同级的编程思想。
关于是否将React应用于公司的项目我也有一些想法,公司的项目现在是基于Angular的,全部用React重写短时间内不太现实,但React的很多思路可以用到Angular上来,比如Immutable Data,比如Flux提倡的单向数据流。Angular作为一个不那么opinionated的框架在这方便还是很开放的,我觉得完全可以将这些思想加进来,目前也已经看到有人在尝试这么做了,比如Boost the Performance of an AngularJS Application Using Immutable Data,BUILDING ANGULAR APPS USING FLUX ARCHITECTURE。有时间也想做些类似的尝试,毕竟这种渐进式的改进对于大的项目来说比较能接受。再者说了,相对于React,我内心其实还是更期待Angular 2,很多改进还是挺吸引人的,决定最近有时间好好看看ngConf 2015的视频。
关于ES6
ES6无疑是另一个最火的话题。我在PPT里把ES6的特性总结为两点:1.修复自身的缺陷,2.把别的语言里经久考验的优秀特性偷过来。诸如类以及模块的一些支持还是很吸引人的,感觉JS原来越像一门“正统”的语言。想要对ES6有一个大致的认识,除了看PPT里的那个repo之外,还可以看看这两个系列:一个是阮一峰老师的《ECMAScript 6入门》,另外是Mozilla出的ES6 In Depth系列。大会上有一个session讲的就是generator的使用,其实之前我想当然的认为ES6其实就是把别的语言里的generator概念偷过来嘛,貌似没什么神奇的,跟以前用过的Python里的generator没啥区别嘛。后来看了ES6入门书中的介绍后感觉有了新的认识,JS的generator函数中使用yield
将值往调用者那里传,然后调用者使用next(xxx)
将值往generator函数中传,这样其实打通了一个回路,而这个回路就是generator改变JS异步调用写法的关键。有兴趣的可以看看阮一峰书中关于异步调用的讲解以及Slides网站上的这个PPT。
与大牛们合照
这次深圳之行一个挺大的收获就是终于见到真人大牛了,以前都只是网上看到过名字,这次终于看到活的了。不仅看到人了,还有幸与大牛们一起聚餐聊天,学到了一些新名词,也了解了他们所在公司的技术现状。
说到这张照片,还有一个段子,当时阴明开玩笑说:“如果这两桌的人都饿死了,中国的前端要倒退好几年”,哈哈!桌上见到了小鱼、尤小右,以及在上海的Meetup上就见到过的达峰和hax。小鱼我关注蛮久的,怎么也没法把网上的他跟广东人联系在一起,不过真人一看就知道是广东人。还有稀土的阴明,就是中午找他聊天才知道晚上这个聚餐的事,阴明说话超级逗,关键是真人跟头像真的一模一样,所以我才能在大会现场直接认出了他。
吐槽深圳
说起深圳,我脑海里第一反应就是那句歌词,上签到图:
到了以后才发现,深圳跟我想象中完全不是一回事啊,我要开启吐槽模式了!
- 关于定额发票:吃饭居然只能开定额发票!由于这次开会全程都是公司报销的,干啥都要开发票。10号晚上到了以后,在酒店附近找吃饭的地,走了两条街也没问到能开机打发票的店,当时我就震惊了,上海是个大点的店都能开机打发票啊,定额发票算怎么回事。。。在上海貌似只有交通卡充值发票是定额的吧。。。不过拿到定额发票看了看感觉也挺正规的,后来在机场吃了顿饭也是定额发票,猜想可能深圳的规定就是这样吧。
- 关于关内关外:刚出机场打车的时候就挺奇怪的,出租车分两种,一种只去周边的几个区,另一种去市区,当时我就迷茫了。后来听人介绍才知道,这都是历史遗留问题啊!当时划经济特区的圈,只划了一部分,圈中的部分靠近香港,是关内,其他部分是关外。关内关外经济发展差距可想而知,最令我震惊的时当时关内关外居然架设铁丝网强行分割,还设有检查站,进出关都要查验证件。。。同城不同命啊,这社会能稳定吗。。。铁丝网据说这几年才真正的撤掉,但关内外的经济差距一时半会是无法补平的。出租车的区分也是因为以前一些只跑关内,一些只跑关外的历史遗留问题。对这段感兴趣的可以自行搜索“深圳关内关外”。
- 关于粤语:虽然听不懂,但真的是一种TVB即视感啊,挺羡慕会粤语的孩子的,听/唱粤语歌都毫无障碍啊。
- 关于“破”:可能是魔都呆多了,觉得深圳好像有点破,可能所住的那块区域恰好发展一般吧,貌似附近都在搞开发。但有一点,空气确实比上海好!说到这里其实也挺遗憾的,由于会议日程安排太紧,这两天除了开会基本啥也没干,都没有在深圳好好逛逛。小时候就听说得“世界之窗”也来得及去瞧瞧,有机会再去吧。