2017.5.13 · 深圳凯宾斯基酒店 · 阴
开场
为什么要参加技术大会?
- 因为这些内容只能在这里看到;
- 这些嘉宾只能在这里见到
是啊,我们为什么花那么多钱买门票,还有来回交通、住宿费用,还要耽误周末两天,去参加这么一场大会呢?你说两天时间就真的能学到许多,迅速提升技术么?那答案显然是否定的。那么,为什么还要参加呢?开拓视野,了解前沿的技术,为日常的开发提供灵感,结识、学习优秀的开发者……还有一点,just for fun 不行么?春晚一年比一年水,不也还有那么多人每年都要看呢。
这个话题让我想到前段时间看到的一篇文章:《当我参加培训的时候,我在学什么》
Swift with hundreds of engineers —— @Artman Tuomas
Uber 使用 Swift 重写了 app,在这个分享中,Tuomas 会介绍如何在上百人的团队中使用 Swift 进行开发,并介绍 Uber 重写过程中遇到的各种问题和解决方法。
2017@Swift Tuomas Artman Tuomas 是 Uber 移动架构和框架组的负责人。在来湾区之前,他创立了一家芬兰知名的数字资讯公司,还在上海的一家公司工作过一年,开发游戏和多用户技术平台。
Uber 移动开发史 - 4年前3个开发者到几百人
重构:不同于新开发一个App,重构需要
- 确保原有核心流程稳定可用,
- 并支持未来几年的业务发展,
- 设计与开发需要足够的协作,
- 监控优先:自动化、日志、debug,跟踪,
- 分框架降低整体系统风险,
- 提高性能与体验
- 多平台架构设计,提高开发效率:
- 代码一致性
- 设计一致性
- 结构一致性
- "RIBs"
- Router
- Interaction
- Builder
重构时间线:底层核心架构&库、核心业务流程、其他细节
重写超过一万个 Swift 文件、100 万行代码Swift 优点:特性多、稳定、高可用
Swift 缺点
- 调试困难 —— 处理示例
- 编译处理时间长 —— 梗~ 保持更新、AppCode、分更多 framework
- 二进制文件大:struct、可选型、泛型
- 编译加载速度慢 —— 合并源文件、Buck
- 提问:
如何解决几千个 Swift 文件的语法升级问题。
更多参考: 英文整理稿 - // TODO: 翻译整理
Concurrency on iOS —— @Sam Davies
从基础的 NSOperation 一直到 Grand Central Dispatch,彻底讲明白 iOS 并发。此外还会涉及一些高级内容,比如 dispatch group 和线程安全。
嘉宾来自英国,上场很酷、语速很快
更多参考:Playground 演示 - // TODO: 理解翻译
iOS development efficiency at Facebook —— @Igor Jerkovic
Igor 在 Facebook 的视频团队工作了五年,非常熟悉国外大公司的那一套理论。他会在这次分享中介绍如何提高开发效率和代码质量。
Facebook 移动开发历史
2011 - Web
2012 - Rebuild for iOS
控制特性分支
Gatekeeper
From Zero to Hero: Making your iOS App Accessible to VoiceOver and Beyond —— @Sommer Panag
在这个分享中,我会介绍无障碍和 VoiceOver。首先说明为什么无障碍支持很重要,然后通过一个权威的 iOS 应用了解你可以实现哪些无障碍功能。接着我会介绍 iOS 无障碍 API 以及如何对接 VoiceOver。最后,我会补充一些有趣的无障碍知识,除了支持 VoiceOver,我们还能做得更好。
Thinking in Rx way —— @Krunoslav Zaher
我会介绍开发 Rx 的初衷、我对 Rx 的看法、Rx 的特点以及 Rx 和传统编程方式的区别。我还会介绍 Rx 的性能、不同设计模式的实现方式以及如何关联 Rx 和状态机。
“因为我懒,所以大多数时候我都是在删代码”—— 😄
JavaScript for Swift Developers
砸场小哥厉害了。
Building Confidence: Testing iOS applications —— @Saul Mora
Saul Mora 中文蛮不错啊,流行口语用的666.