参加宁JS是一种怎样的体验

买票

我是五月份买的票,那个时候穷得要死,然而还是挤出来了500块买票。

我知道可以买票的时候已经过了两个小时,所以早鸟票早就没有了。哎。

Day 1

早上七点十分闹钟起床,比平常上课都勤快。吃了个鸡蛋就跑去地铁了。

到达会场八点多,做了丧心病狂的 @稀土 的互联网从业资格考试,拿了两个小牌子,还蛮不错的。 在Teambition拿了一张三胖爷爷的钱,感觉还蛮有意思的。 还拿了JSConf包,这个包感觉质量还是蛮不错的。里面的宣传页倒是没怎么看。

开场前和旁边来自杭州的老司机聊了一会儿,听他吐槽杭州现在简直是人间惨剧,连饭都没得吃。

然后碰到了 @SuneBear 面了一下基,果然和头像一样长得好清秀,无奈没有拍照,还是蛮遗憾的。

第一场是尤小右的《Vue.js的过去和未来》,先是陈述各种vue的牛逼历史。做前端的大多都懂,其实我觉得这部分时间倒是可以压缩一下。然后讲了一些Vue2.0的东西。

我之前写过vue1.0的东西,整个还是蛮不错的。对我来说可能更简单一些,因为会少了很多选择的烦恼,那个时间我做的vue + vuex + vue-router + vue-resource 还是蛮不错的。尤其是template写起来好容易理解很多。

至于2引入了virtual dom,然后整个结构也产生了很多变化。对于1来说可能是增加了一些学习成本,但是不算多。 尤大在讲到vue的watch和virtual dom变更追踪的时候让我眼前一亮,他说

Vue 2.0 会自动追踪变更的dom,而不用像react一样显示的写shouldComponentUpdate()

这一点还挺好的,在写react的时候到处都要手动写scu,还是挺麻烦的。

vue 2.0还有服务端渲染之类的。

vue 2.0 还和weex有了一些合作,未来会powered by vue.js。比较让人期待。

第一天我觉得很多讨论都是vue相关的。一定程度上也代表着vue在前端框架中有着浓墨重彩的一笔。并且在未来也将占据比较重要的一席之地。

第二场是James Kyle 的《如何写一个编译器》,还是蛮有意思的吧。他是做flow,babel的,和其他人不一样的是他并没有安利他的什么产品。结束的时候,我看着这一百多行的微型编译器代码感觉还是蛮好的。 这个大胡子英文很标准,我虽然英文不好,但是听得感觉还是听懂了一些东西的。 PPT做得很花,蛮有意思的。

好吧,说实话,这一场可能看个《编译原理》也就差不多了。可能不同之处在于,这个session讲的编译原理会有趣一些。

第三场是阿里天猪的egg.js。这一场说话声音很小,我尽力听,可是仍旧没有很明白。这个产品吧,似乎对我并没有什么致命的吸引力。在我看来像rails, Laravel的才是杀手级框架,而node系并没有出现这么一个足够吸引我的东西。

egg.js的特点我并不是很懂。说是企业级。。。好吧,可能是场景的问题,我并不是很需要这个东西。

第四场是严老师的《聊聊JS测试框架》,因为我有关注严老师的微博,所以还是知道他要讲什么的。然而和我脑袋里不一样的地方在于严老师并不是像上面那位一样上去就疯狂安利,虽然有两个小广告,但是无伤大雅。这一场把大部分时间都交给了谈论各种测试框架,以一个老司机的身份给各个新手讲解各种测试框架的思想,实践,问题之类的。最后才推出了tman。

中间关于tap流的一些测试讲解还是蛮亲切的。(因为我用ava啊 :))

然后上午场就结束了。

中午参加了掘金的一个用户体验的饭局,作为吃瓜群众全程各种动筷子听大神讲解。

然后下午又回答会场继续听。

下午第一场是PM2的作者讲的关于PM2的东西吧。到会场的时候其实已经快结束了,这位老师又略有口音,加上我本来就搓比的英文就基本没听懂在干啥,虽然老师全程秀代码。。。最后一分钟的现场开源瞬间燃爆全场!

作为一名开源运动爱好者,那个时候满满的都是感动。

麻烦哪位老司机知道Github地址的贴一下,让我去star一下。

GitHub - gridcontrol/gridcontrol: Networked Process Manager to execute functions in a Computer Grid

下午第二场是罗诗亚讲的《web下的3D》,前面一段我觉得略无聊,都是介绍three.js的。没学过的肯定觉得好炫,然而。。。台下的都是大多数都是前端哎,哪个没接触过一些。和前面的划水不一样的是后面几个demo在我看来特别的精彩。一个手机设备控制的,一个零件展示的,真的不错。

第三场是Kevin Ngo讲的《在web端做VR》。对于A-frame这个框架和three.js相比起来要简单上不少。它所采用的声明式语法在可读性上要高上不少,而且api的设置大多是web components规范里的东西。组件化,声明式的东西在我看来都是未来趋势。毕竟能简单处理的东西我为什么要装逼非要吃力不讨好加班做这个东西?

可能兼容性是个问题哦。

第四场是一个写代码的CTO,郭达峰讲的偏团队建设的东西吧。在郭老师的语气中我感觉到了JavaScript统治世界的感觉。虽然react-native这样的东西不成熟,然而它却是一个未来的方向,可以减少沟通成本,降低学习成本,加快开发进程。所以为什么不选择react-native呢?尽管年轻,但是谁没年轻犯过错呢?

好吧,我说说我的意见。想尝鲜完全可以拿react-native来做app了。但是企业去选择使用的时候还是应该慎重,像郭老师说的那样,还是得配一个IOS, Android工程师来解决各种莫名其妙,前端难以理解的bug的。

现在rn可能还只是个爱翘课的笨小孩,但是过两年它就会长成巨人。所以,成长还是蛮有意思的。

第五场是《建立异步,独立的微服务》,大多是后端的东西。讲话声音还是有些问题的。比较催眠。我之前一直有疑惑GraphQL相关的东西的。在这里老师讲到的东西让我觉得可能接触一下还是蛮好的。大多数都是后端相关的东西,我不敢保证理解完全正确,所以各位可能还是需要看视频的。

第五场由于讲师有事,所以取消了。拿来做Q&A和抽奖了。

用某人的话说,Q&A瞬间拉低了整个Conf的档次。。。

问题中有几个其实是业务相关的问题。在这里问,我也觉得可能不是很合适。还有,虽然主持人要求尽量用英文,虽然我们也应该本着国际友好的精神尽量讲英文,但是英文讲不好还是用中文吧。真诚的建议。

有一个问题是我极度反对的。关于问郭老师可以在香港呆的好好的为毛要回大陆的问题。这是一个技术交流,为什么非要扯到政治相关上,我听到这个问题是很难理解提问者的思维。难道。算了,我也不谈政治。

中间有一些广告商的五分钟简介里面有几个还是挺有意思的。比如豆瓣阅读的富文本编辑器我就特别想继续听下去。中间还有bamei.js什么的。。。我觉得做技术的是可以随便一些,但是这种对公众开放,希望比人用的东西还是考虑一下受众比较好,可能这个名字并不是非常合适。

晚上和在会场认识的一位南邮同学吃了饭就跑去了after party。

中间碰到了teambition的人,和其中一个姐姐讲话的时候我以为她是HR,没想到是开发。当时的内心是,长成这样还用做开发?

就冲这颜值,毕业了也得去tb试一下。

关于after party,用一位阿里前端的话说

明明是酒吧,硬是吃成了大排档的感觉

哈哈,不过这个party还是蛮有意思的。认识一些人,了解了一些事情。大家没事喝喝酒,吹吹比还挺好的。不过建议下次主办方找个更大一点的地方聊天。

晚上十点钟左右回来了。

好了,现在凌晨了。睡了。明天还要去JSConf, 回来还得给同学修电脑。

晚安

Day 2

晚上凌晨一点钟睡的,早上七点十分起床。困死了。然而到了现场书都被抢光了 T_T

第一场是《单页应用“联邦制”实践》,似乎是架构方面的东西。看得感觉,还行吧。只是强业务相关的,一般公司应该碰不到。 咦,突然想起来好像我司和UCloud的业务有些类似哎。后面可能还要再刷一遍。

第二场应该是讲devTools的,但是飞机晚点改到下午了。然后下一个是。。。是什么来着,忘记了。按照我想的顺序来说吧。

《Node.js在线性能调优与故障排查》我之前在D2听过。扑灵一年多都在推alinode了。我个人觉得这个东西很不错。毕竟Node.js不像Java那种一样,能直接读源码。所以700每月请个老司机,弯道的时候帮忙扶个方向盘,我觉得还是蛮值的。

在我看来每一个Node应用写得超过5k行就会碰到很难排的错误,有时候低级错误测试能救过来,但是有时候运行时错误就很难搞,猛一看也没问题啊,但是跑起来就狗带了。

我个人还是很推荐alinode的。企业可以试试,个人似乎免费,更可以试试咯。

《从JavaScript现代框架中学习设计模式》这一节我觉得后面推FP的那一块深得我心,我就觉得JavaScript应该是要好好学FP,学号FP才能在后面几年的前端开发中占据一个比较靠前的位置。至于Elm,知乎上的讨论普遍是因为不稳定不推荐,我也是这个意见的。

然后《面向未来的自动化测试-Macaca》讲的是测试框架,没有听很仔细,看起来是跨平台的自动化测试。我个人并不是很关心这个。

《在Netflix用RxJS来处理异步》,讲师是Ben Lesh。我不是很熟这个人,但是看起来好牛逼。正好我之前比较长的一段时间很关注RxJS再加上讲师英文讲得还蛮标准的,所以听得很开心。我以为会像套路一样,说“Everything is stream”这样的,然而却是从Promise来讲起,更符合使用吧。和其他讲师不一样的地方在于他会说有什么缺点!着实让我一惊,其他来安利的讲师都是绝口不提缺点,这位老师倒是实诚。

我觉得RxJS是一个很有意思的东西,推荐没有尝试过的同学可以试一下。进阶一点儿的Cycle.js也是可以试一下. 对了,http://egghead.io 上 的课程 Cycle.js Fundamentals ,讲的不错,可以看一下。

《移动海量服务下基于React的高性能同构实践》讲得让我惊呆了。大厂都是这么做项目的么,怪不得是市值2500亿的大公司啊。

先是直出,不给力再搞缩减请求,然后竟然就深入到网络模型了。。。弃用HTTP, 换 UDP做,用二进制传输数据。。。。二进制数据还得截取。。。

我一个人做web的是听呆了。为了性能竟然能做得如此深入!服。

《用Mapbox做更好的应用》的讲师好帅,然而听到他讲的是英文,其实我是很吃力的。全程听得很少,偶尔看一下PPT。看起来API设计的还不错,下次项目如果有地图相关的东西我可能会试一下。

然后是《前端DevOps实践》,我听得也是没什么感觉。不是很懂。可能我太菜没有跟上节奏吧。

《用nodejs每日承载300万请求》是个老外用中文讲的吧。情怀是有的,然而还是没怎么听 [lol]。感觉他们项目还是不错的。

对了,差点儿忘了《渐进式web的开发工具》这一节,讲师是巨硬的大神,然而我上半段时间出去跟人吹牛逼去了,漏掉好多东西,最后回去以后也没听明白什么东西。

中间有个lighting talk,腾讯的似乎在推广自己的团队和博客。我有看过AlloyTeam的文章,都挺不错的。做React相关的确实应该去看一下。 还有一个吐槽JSConf的,引起场上一片欢呼。在我看来技术人就应该这样,老子凭什么要跪舔你?讲的好就是讲的好,讲的烂就应该被说出来,否则你怎么继续改进?

在此强烈建议下一届加入实时弹幕功能,主办方懒得做可以放出来让大家做,我相信像我这样爱管闲事,爱发PR的同学还是不少的。

(后面hax上台还以为要开喷,原来是想多了)

然后有个女生讲的单页应用什么的,因为之前的吐槽高潮很多人并没有注意这个姑娘。然而我听了一会儿觉得对我很重要,因为我司做的方案跟这个姑娘做的差不多,只不过可能更激进一些。有点儿后悔那个时候刷什么微信,多听一下多好。

然后的Q&A大多是冲着Ben Lesh去的,我的感觉是不明觉厉。第二天的Q&A质量要比第一天高上不少(因为我听不懂。。。逃)

第一天的重点可能更多的是Vue.js,而第二天更多的就是RxJS这些东西了。所以一定程度上可以感受到发展趋势吧。各位没有接触过的同学可以跑个demo,了解一下。

到这里,吃瓜群众的JSConf两天就结束了。

我的第一个感觉是要好好学英文。我的英文属于那种非常认真差不多能听懂一些,稍微放松就一脸懵逼的状态。这些大神们又是尽量英文的状态,让我很难过。后面一定是要好好补英文了,争取明年能够完全听懂。

第二个感想应该是要认认真真做一个项目了。很多东西都是通过实践得来的东西,所以我决定用自己最稳的技术栈好好做个东西。计划是重写之前的某个项目吧。

好了,两天结束了。

以上全是我个人的感受,有什么不对的我也不会改哦。

谢谢。