2017 年北京 QCon 参会总结

简介:

本次 QCon 共有两个前端专场,分别是「前端工程实践」和「前端架构思想」;还有一个移动开发专场「移动开发实践」。我主要参加了这三个专场,每个专场分别有三至六篇演讲;另外也听了其他专场几个感兴趣的演讲,比如「编程语言」专场的 Clojure 和 JavaScript 两个议题。

以下是我参加的议题及心得总结:

持续集成之 Why、What & How

这是大会致辞后的第一场演讲,演讲者 Kohsuke Kawaguchi 是 Jenkins 项目创始人和主要开发者。正如题目所示,本场演讲解释了持续集成的作用和必要性,并在后半段给 Jenkins 打了不少时间的广告。

QQ 空间萌宠之舞——HTML5 骨骼动画实践

原理上,骨骼动画是利用建立好的骨架套用到一张或多张图片使之动作的动画技术,比起传统的逐格动画一张一张绘出动作省了很多时间与精力,而且能更生动地动作。一般都会借助一些第三方工具来创作骨骼动画,QQ 空间萌宠之舞也是如此。

这篇演讲还讲述了他们在实践过程中遇到的问题,以及解决方案,还提供了不少性能优化的经验。

Basement——蚂蚁 Web 研发流程和基础服务实践

这篇演讲是对蚂蚁前端的 Web 应用研发流程和基础服务平台 Basement 的介绍。讲述了在 Basement 上,如何做到将一次产品迭代缩减为四步的,即:开发 -> 测试 -> 预发 -> 发布;同时还介绍了 Basement 的技术架构及实现。

除此之外,演讲者还分享了很多思考和总结,比如“一切不以上生产环境为目的的造轮子都是耍流氓”,“记录比管控更重要”,等等。

微信 H5 视频播放器在海量业务下的实践

主要讲了两方面的内容:

  1. 微信公众号文章视频播放的技术方案和实现,如何保证系统可控;
  2. ⽇常运营如何保障系统的稳定性;

关于第一点,他们实现的 H5 视频播放还是很有意思的:在客户端本地起一个代理服务器拉取视频资源,同时将广告等功能作为“插件”来实现,然后统一由“调度器”来管理视频播放;稳定性方面,包括实时监控客户端的异常信息,以及开发了一款能够远端调试移动端页面的工具。

WebGL 在前端可视化中的实践

本篇讲的是 echarts 在使用 WebGL 当中的一些经验。涉及到不少计算机图形学的知识,听起来有些费解,不过图表效果还是非常炫目的,尤其是最后一张 3D 的星空图。

如何打造自己的 PWA 应用

关于 PWA,本篇演讲的作者不但作出了简单明了的解释,而且给出了具体的实践。

PWA 最大的特点是快速和离线,其技术核心是 serviceWorker。对于一款离线 App,如何上传数据,如何对数据进行预存,如何清理过期缓存,如何进一步优化性能等等问题,这篇演讲都给出了方案和代码实现。

除此之外,PWA 还有一个鲜明特点是可以添加到主屏桌面,那么如何添加?如何像原生应用那样通知?也有非常清晰的说明。

探究 Node.js 的服务端之路

这篇演讲作者根据他们自己团队的实践,主要讲述了 v8 引擎的内存结构,内存释放以及内存泄漏的各项情况。并讨论将 Node.js 引入服务端带来的优势与常见的问题及其解决方案,以及目前 Node.js 的意义。

内容非常丰富,但演讲者在演讲过程中对内存泄漏、fork 等几个问题讲得太琐碎细致,而且用时过长,导致后面的分布式、维护相关内容没有完全发挥,有些遗憾。

应用开发的未来

甲骨文公司产品副总裁 Boris Scholl 的演讲,主要是应用开发模式上的一些看法,发展方向和挑战等。这里他提到了一个很有意思的概念:FaaS,即 Function as a Service。同时还涉及到 Serverless,微服务等等,总之是概念非常多、非常宽泛的一场演讲。

网易乐得“无埋点”数据采集实践之路

这是一篇移动开发相关的演讲。所谓的“无埋点”,意思是不必手动给页面中一些元素加“埋点”来收集用户行为,而是通过用户操作的页面元素的 xPath 及其他一些特征来自动生成一个表示用户行为的“埋点”。这一思路对 PC 端的 Web 开发或许也有一定的启发。

美团 crash 监控分析系统优化之路:crash 率从千分位到万分位

也是比较空泛的一篇演讲,老生常谈的一些内容。主要从研发流程和机制的角度来入手,讲述了如何通过一系列的非技术手段来降低 App 的 crash 率。

属兔的处子——喜欢 Clojure,但怕动态语言太灵活怎么办

Clojure 是我最近打算去学习研究的一门语言,它本身是一种 Lisp 方言。虽然对 Clojure 的语法还不甚熟悉,但这篇演讲却听得津津有味。主要讲了 Clojure 里两种类型系统 core.typedcore.spec 的优劣。

另外,似乎所有的动态类型语言,都有人试图去给它们加上静态的特性,比如 TypeScript 之于 JavaScript。

编程语言如何演化——以 JS 的 private 为例

这是大名鼎鼎的 @hax 的一篇演讲,PPT 相当别具一格。讲了 JavaScript 类的 private 属性/方法 的历史。

hax 的风格就是,在讲 JS 的时候,可以顺便把其他 100 种语言都黑了。

单页应用的数据流方案探索

@民工精髓 的演讲,同时还有一篇更为详细的文章在这里。这篇主要是在讲 FRP(Functional Reactive Programming)模式的特点及优势。以 RxJS/xstream 为代表的数据流库,能够很好地跟 Redux 等状态库就行结合,解决后者常见的一些问题。

ui-model,更纯粹的前端

ui-model 的思路是,将一个组件的“内容层”、“样式层”和“逻辑层”分离开来,而它只提供“逻辑层”。想法的确有独到之处,因为毕竟在实际的业务场景中,几乎绝大部分的第三方 UI 组件都是需要“定制”的。而只提供了交互逻辑的 ui-model 的组件,的确有可能省去上述的“定制”——因为样式是要有使用者自己实现的。

不过,对于这种模式,组件所需要的数据如何维护?组件间的交互如何实现?这都还是问题。

百度搜索前端架构的演进

这篇演讲也是比较空泛,更多是业务上的数据,涉及到的技术细节很少。

目录
相关文章
|
移动开发 安全 Android开发
想去硅谷?一起来参加AngelHack 北京黑客马拉松大赛吧!
AngelHack 是目前全球最大的黑客马拉松组织者,前不久,AngelHack 刚刚联合SegmentFault 等社区一起在上海举办完黑客马拉松比赛,跟他们的CEO Greg 聊到,他们一年在全球几十个城市举办上百场的黑客马拉松比赛。马上在下个周末(12 月 7-8 日),AngelHack 将要联合我们SegmentFault(中国最大的黑客马拉松组织者)以及Beijing Commons、36氪等小伙伴一块办起这场开发者的盛会!
163 0
想去硅谷?一起来参加AngelHack 北京黑客马拉松大赛吧!
|
移动开发 安全 搜索推荐
中国新媒体创业大赛,全国20强项目,SegmentFault 以北京赛区第二名入选
中国新媒体创业大赛总决赛今天在杭州举行,20强项目从全国各赛区选出。 今天列了20个项目的简介, 创业者们可以看看同行者们在做什么。 大家来猜下前三名是哪三个, 上次猜杭州赛区的完全猜对的只有4个同学,猜对一个的就相当多了, 规则一样,猜一次都猜对了请吃饭。
189 0
中国新媒体创业大赛,全国20强项目,SegmentFault 以北京赛区第二名入选
|
人工智能 云计算 开发者
DevUP 沙龙 | 八月北京、上海、成都燥起来
炎热的周末不知去哪里耍,不如来参加阿里云开发者 DevUP 沙龙吧。三大城市火热来袭,专家面对面交流,更有实操环节加深理解。放松学习的同时还有机会结交志同道合的小伙伴, 约约约!
DevUP 沙龙 | 八月北京、上海、成都燥起来
|
大数据
第二届南京六合创业大赛暨2020南京创新周“中华门创将”大赛报名中
第二届南京六合创业大赛作为2020南京创新周“中华门创将”三创大赛分赛区,由六合区政府、南京市人社局主办,江苏科技镇长团六合团、六合区人社局、六合高新区承办,创成汇平台协办,将聚焦节能环保、新材料等六合重点产业,以及信息技术、大数据、智能汽车等未来产业,面向全球开展项目征集。
642 0
|
物联网 大数据 5G
第二届南京六合创业大赛报名指南
节能环保和新材料行业是作为传统的实体产业,也是正在快速升级的两大产业,作为节能环保和新材料产业的创业者,前期的研发和经验更需要多方支持,尤其是初创企业更需要政策与资本的大力扶持,南京六合高新区产业方向为智能制造、节能环保、新材料等领域,为了吸引更多海内外优秀科技人才项目落户六合高新区,促进企业、人才、资本、技术等创新要素深度融合,推动六合高新区产业转型升级和经济高质量发展。
840 0
|
大数据 Serverless 区块链
剧透 & 报名 | 蚂蚁金服ATEC城市峰会·上海即将开幕
蚂蚁金服ATEC城市峰会·上海,5大分论坛精彩看点!
2700 0