第二天是国内开发者场,一共8位嘉宾做分享。
第一位,唐巧
分享从引用数和struct的内存布局说明swift性能比oc好。开头说了些swift在实现上做了哪些性能优化,包括编译器、内存、消息转发机制、引用数和protocol type的设计, 然后挑了最后两个来做具体的分析。
第二位,戴铭,github.com/ming1016
这嘉宾的分享信息量很大,而且较底层。他上场先演示了一个基于flexbox布局的web代码,然后通过swift作为解析语言,转成iOS能识别的代码。原理是利用LLVM即所谓的编译器前端部分,在转成IR之前,先做语法分析之类的,然后利用IR提供的API,最后转成IR,继而顺利进入编译器后端部分,生产机器码。其实假如这个东西我来做的话,我肯定不会在编译器层面来做,因为我压根不知道IR也能有相对应的API,就是说在我的知识体系里面,IR已经是个不可再分解的黑盒,额,其实这样是对问题分析的层次问题,知识储备越多,可以将大问题分成小问题,再继续分解下去,不同能力的人分解的层数不同,继而解决方案不同。这块还是有待学习😂。
第三位,腾讯的柯灵杰
分享如何设计高性能易拓展的图片组件,然后再分享设计细节和一些之前具体的优化细节。这个主题比较贴近实际需求,所以收益也比较直接,有些优化细节是之前根本不知道的。重点是他分析问题的方式,让我认识到我之前分析问题缺失的步骤。嘉宾说这个框架作为公司开源项目正在走流程,很快就可以开源了。
第四位,UC的王文槿,@aaaron7
这个比较有意思,因为之前去UC面试的时候,是他面试我的,呃呃呃。他分享了Lightweight reactive-api for MVVM。先是重新介绍了一遍MVVM,然后说了普遍些很多人误解和混淆的概念,然后实现了一个reactive-api来实现ViewModel到View状态绑定。
第五位,美团赵恩生
分享的是美团发布工程相关的内容。先是介绍组件式开发在美团是如何存在的,然后重点说了一套从提交代码到最后出ipa,再从线上bug到代码测试用例的添加,继而形成一个闭环。其实很大部分的工作存在于每个环节之前的检查、准入、验证之类的,这些都是针对自己业务和公司实际情况在持续集成的过程中不断改进,最后形成这么一套东西。
第六位,ThoughtWorks 傅若愚
分享了他是如何做一个能实时把输入视频染色然后输出的应用,简单来说就是把黑白电影通过机器学习的方式转成彩色电影。介绍了机器学习的一些基础概念,分享他整个制作的过程和遇到的一些坑。
第七位,Google工程师 尹航 。。。。。94的😂
他也是分享了机器学习相关的内容,通过机器学习在iOS设备上实时分析输入内容对应的概率较高的emoji表情。和傅若愚不同的是,他把TensorFlow放在了iOS端,然后介绍了TensorFlow的工具链,介绍他如何建立整个识别的过程。
第八位,虾神 txx
分享了swift和树莓派之间的交互。展示了多个demo和代码细节,最后分享了小米智能硬件破解之后的可能性。他开场不久说了一句,程序员有程序员的玩法,,,,哈哈哈哈,有意思,顺便黑了一把王者农药。