今天是@swift第一天,第一天全是外国开发者。
第一位是Uber工程师Tuomas Artman,总共讲了Uber客户端重构过程中swift的good,bad,ugly。重构过程中注重的6个方面,包括提升核心开发流程的可靠性,监控能力,可拓展性,通用规则包括开发和设计,规避风险,极致情况下的用户体验。虽然稍微加了些自己的理解,但大概就是这个意思吧。接下来他说重新设计了架构router->interaction->builder简称RIBs,我的理解是以组件为单位设计router的跳转,然后再用组件去填充到view,具体这哥们就没说了,我也只能这样理解了。重点是这套架构是适用于Android和iOS双平台,由此达到他说的double efficiency,暂且抛开这套设计思路,但由此引出的问题就是如何设计高效率的多平台架构方案?这是个值得思考的问题。然后说重构后用户不崩溃的概率达到了99.90的概率,这,他说到一点,不要做unconditionally unwrap,就是不要在没有条件的情况下做强制解包。接下来他说了一些swift导致的问题,binary size就大家都知道,但是pre-main time更久了?这个用了swift不是更短吗,我记得wwdc406是这么说的,这个有些疑惑。然后他给了几个缩短swift compile time的建议,还推荐了Buck,后面再了解下。最后他还说了unit test得加啊。
第二位是RayWenderlich的CTO,Sam。他的分享主题是关于异步并发,整体难度不大说了些常见的冲突,然后给了解决方案,最后安利了promise,额,我注意到他用的gitup客户端,回去试试看。
第三位是前Facebook员工,Igor Jerkovic。这哥们分享了Facebook的开发流程,介绍了很多开发环节的准则,包括review,commit,coding,ABtest,feature branch等等,其中他说到one idea one commit,他这里的idea是指一个需求吧,但需求有大有小,我理解是先把大需求合理分解成多个小需求。他后面介绍了很多辅助工具,其中也包括了Buck,额。这个分享的信息量太大,还要重新回顾下每个环节。
第四位是Sommer Panage,这是个程序媛,而且还是马戏表演者和教练,这跨界有点大啊。她主要是讲了iOS中的accessibility programing,就是为失明者做无障碍应用开发。讲了些基础和高级用法,这个主题确实是第一次接触,除去coding和design的部分,其实这个问题是值得延伸和关注的。
第五位是RxSwift的作者,讲了些rx的基本用法,最后也讲到了RxFeedback,这个后面再了解。回去有时间要把之前那本《reactive programing with RxJs》后面进阶部分看完,额。
第六位是Realm和cocoapods的核心开发者,居然主题是JavaScript for Swift Developer,讲了些相同处和不同处。其实我用了一段时间js,在抛开面向对象下编程,感觉真是爽。也可能我理解得不对。
倒数第二位是perfect框架的作者,分析了Swift作为后端开发语言的优劣和要注意的地方。其实用Swift写后端挺有意思的,只是现在没时间呀,不想折腾工具了,我只想提高写代码的能力、写好代码的能力。
今天最后一位是英语流利说的Saul Mora,分享了关于测试的主题,限于大会的时间吧,其实没把测试讲得很深,只是重点说了必要性和原则,想起我看了一部分的那本BDD,《learning behavior-driven develop in JavaScript》,感觉对不起它,这部书讲了行为测试驱动的各个方面,有时间再看完吧。
今天听完分享,算是有些收获吧,也和同学讨论了些工作的问题,接下来可能要开始逐个组件重构,并且完善些小团队必要的工程化,而不是整套照搬吧。明天还有一天,期待更精彩的分享。