9月初来南京参加JsConf,晚上十一点落地,十二点到酒店。
夜深了睡不着,走在南京的马路上。天气不那么闷热,深夜车流渐渐稀疏,路两边的法国梧桐顶着头上茂密的枝叶,静静地随风摇着。偶尔路口驻足低头看手机的姑娘,给静谧的夜增添了一抹淡淡的清香,仿佛是这城市最美的一个注脚,让初到南京的我感受这座城的不一样。
来南京之前的几天,心中颇不宁静。为了工作上的事情,思绪辗转万千。结束了第一天的技术峰会,听了那么多的人分享自己的经历与成长,现在才明白,才悟到,原来树长得直还是弯,永远不是因为树下的土。
在 JSConf大会上,最能感受到的是一群追逐技术的人如何在技术浪潮中努力地撑着自己的舵,或独自、或结伴地引导者后面的跟随者,艰难但从容而坚定。这种信念的感染力是深层次的,或许就隐藏在分享的现场笑笑、闹闹的巧言巧语之下,或许也隐藏在每一个分享者自豪而自信的微笑里。当自己作为一个旁观者坐在那里,单纯地在别人的思维殿堂里畅游,除了心驰神往,更多的是自己的感慨,或许这两年没有做出任何选择,就是最坏的一个选择,或许未来的一两年再不行动,就是最坏的行动。
上面结合自己的情感和思绪,说了很多,下面就是在参加技术峰会时纯粹在技术上的整理记录和相关思考。其中有些内容可能和原分享者的PPT有些出入,所以大家最终要以原作者的PPT为准,并且如果这个记录辗转被分享者看到,并且觉得我的理解和你所讲述的内容有所出入时,欢迎指正,欢迎一起讨论。
下面的总结会以 讲师、主题、关注点、感想四部分组成:
注意:在下面的听讲记录中,“主题” 小节加了括号的加粗内容是我自己的理解,仅供参考。
progressive framework (其实是说通过多角色的工具库类逐渐补充核心层的能力)
vue 2.0
server side rendering
"weex inspired by vue" become "weex powered by vue"
一个框架从诞生到发展为国内最新最热的前端基础设施,vuejs的成功让人看到了一个开发者的坚持与成长。就这一点而言,对我的触动很大。很多时候也许确实不应该想那么多,先动手做,然后路自然就通了。
James Kyle from Facebook, main contributor of flow and babel
what dose a compiler do
parsing
transformation
code reivew (通过展示代码的方式讲解编译器要做的几件事情以及对应的函数)
transformer
讲师在开场铺垫时,讲了一些如何学习新技术的经历,可以关注一下
国外讲师的PPT风格总是会让人耳目一新,也正展现了他作为一个极客放荡不羁、特立独行的一面(红蓝配看久了真的很伤眼……)。在整个讲解如何实现一个编译器的过程中,每个环节都讲得比较清晰,并且结合一个非常简单的代码示例来让听众明白编译器从0到1的过程,做到了深入浅出。编译器的整个处理流程在一些复杂的自定义业务逻辑处理场景中有着非常重要的作用,期待未来能有一个通用编译器,可以让开发者自己定义自己的 语言关键字、语法规则、对应的处理逻辑,这件事可以想象的空间还是很大的,需要对 James 的例子再做一次抽象。
天猪 from Alibaba UC Group,eggjs
找准了一些企业级web框架应该关注的若干个领域,通过插件机制来针对性地完成支持,从而构建出理想中的企业级应用框架,以下为几个例子:
跨语言RPC
标准的开源社区协作模式
其实能知道EGG在开发过程中遇到的各种各样的难题,特别是在与已有的中间件系统做对接,服务发现与治理等方面一定有很多技术闪光点在里面,但是可能是由于时间和主题的限制,这样的技术点讲解的有点泛泛,其实可以减少框架介绍性的陈述,使用关键几个技术核心点来让听者感知到EGG的技术深度。
严清 from Teambition
QUIC 在nodejs上的实现:目前正在研发的“下一代协议”
测试框架流派
mocha 流
tape 流
测试框架的核心和补充工具
“新轮子”
前端的任何一个技术领域深入以后都会有很多很深入的技术细节令人着迷,在开发过程中所遇到的所有的令人困扰的问题在解决之后都会变成让人情绪亢奋的兴奋点,也正是这种感觉让开发人员能够持续而深入地投入到自己所喜爱的事情中去。一件微小的事情,一个细分的技术方向,解决好了,沉入其中,自然会有广阔的天地,相比自己之前的日常工作,浪费了太多的精力和心血在没有价值的事情上。
Alexandre Strzelewicz, pm2的作者,cto of keymitrics.io
PM2
grid-control
serverless framework
process manager + network layer
setup a Grid
国外的讲师总能给人以惊喜,Alexandre 在分享现场把 GridControl 开源给我的鼓舞非常巨大,让我感受到了这些开发者在开源之路上体现出的文化以及他们无私分享的精神。
罗诗亚, developer advocate at Autodesk
graphics pipeline
an easy way for 3D on the web —— three.js
getting started
图形化的demo非常有感染力,在诗亚展示的若干个示例中,让在场的所有人感受到了web开发在3D图形领域可以做到多么精细酷炫。其实在理想的世界里,抛开商业上的各种考量和顾虑,诗亚以及她所在的团队基于three.js开发的一些功能和效果,如果经过抽象优化后能够开源,相信会给技术社区带来新的活力,特别是结合 web VR,充分利用二者在各自领域的技术优势,前景更让人充满期待。
豆瓣阅读
contentEditable & 针对性的改进
weex
demo
bamei nodejs框架
饿了么前端团队分享
开源爱好者 Cnodejs 管理者
现代web发展
lighting talk 是非常非常令人期待的一个环节,能感受到那些争先恐后利用短短5分钟时间展示自己的人,他们每个人身上的创造力、他所相信的、他所坚持的。如果每天的日常工作都沉浸在这种自我认同、自我驱动中,即便是再累,也是快乐的。技术让人单纯,坚持自己所相信的。
听了 的分享,感触最深的是两点,一是听过之前 3D on the web分享之后,再听 web VR 的分享,感觉web开发在目前最新的技术潮流中并没有缺席,反而利用其自身的优势在促进新兴技术的发展;二是在讲解使用WEB VR技术做的一些实际案例中,作品 afraid of sky (部分名称),利用VR技术向世人展示战争的残酷和血腥,呼吁和平。技术也许不能拯救世界,但是可以通过一点点的努力改变世界
关于 react , react native
react native带来的变革
跨端的工程化,代码复用率
react native 年轻的生态系统
打造全端团队需要的成员
对未来的一个展望
听到这个时候,基本上可以从今年的这些分享中看到未来前端开发技术发展的几个趋势,
微服务的交互
微服务面临的问题
请求变重
API 数量暴增
重点介绍
以订单&支付为例子,讲解遇到的问题如何解决
原来:(在分布式系统中,原来的方式有限制)
现在:
讲师后面的技术方案其实在业内是属于比较常见、通用的编程模型,其实没有必要非要往微服务上面靠
。分享后半部分虽然能从问题产生的根源上面来逐步引入解决方案,但是缺失一个总体上的陈述,所以导致听者比较难以跟上节奏。另外限于时间上的限制,很多关键技术点并没有展开讲解,所以听众可以再拿着PPT,针对讲师没有细说的各个技术点自己做下功课,然后去辩证的理解和学习。
整体来说,Q&A环节质量略低,一是国外的几个讲师没有被问到特别有价值的问题,二是提问题的一些同学提问中涉及到若干个技术细节耗费了较多的时间,这些内容应该在小范围内交流即可。当然有人会说,为什么你没有站起来提问,其实我自己也记录了很多问题,但是由于QA环节难以抢到机会,而且抢到以后也只能问一个,所以只好作罢。所以我在上面的总结中,写了每个分享主题对应的关注点,这些关注点基本上都是围绕讲师所讲内容展开的思考点,可以问出很多问题,也很遗憾由于个人原因没有参与after paty来面对面和讲师沟通交流,后续如果有机会,希望能听到讲师们自己的理解和看法。
第一天的JSConf分享感触最深的就是讲师们对技术的追求和坚持。值得提出的是,vuejs2.0与 weex的结合让人看到了合作双方都在下一盘很大的棋:通过分享与合作来构建更大更完善的技术社区,从而引领未来前端技术的发展趋势,至少是多端统一的道路上,具备了和reactjs + react native 相抗衡的能力。另外一点就是纵观第一天所有课程,可以大概地看到未来前端技术、web开发的一些趋势,上面已经提到过,所以这里不再重复了。总体来说,主办方的课题选择、现场讲师的发挥、现场种种技术与激情的碰撞,都让第一天的 JsConf 精彩而充实 ,从而也更加让人期待第二天的分享内容。
JsConf, 明天见。