![从Observer到Observable:使用Functional Swift提升复杂iOS项目的可维护性](https://static001.infoq.cn/resource/image/ac/00/ac4c0deecf7130e72d3a568c5d592300.png)
在QCon北京2018大会上,王文槿讲师做了《从 Observer 到 Observable:使用 Functional Swift 提升复杂 iOS 项目的可维护性》主题演讲,主要内容如下。
演讲简介:
iOS 发展已经超过十年的时间,已经成长成为一个成熟的软件平台。这意味着绝大多数的 iOS 项目的迭代时间已经超过了 3 年,伴随着的不断膨胀的代码,还有各种各样的历史包袱。最严重就是大量的状态、中间层导致迭代新功能所需要的成本越来越高。
本次分享会结合 Swift 的函数式特性以及 FRP 的思想,尝试对传统的观察者模式(Listener/Delegate/Callback)和状态机(State Machine)进行改进,来实现更好的状态管理,更可控的回调时序以及更安全、鲁棒的编程模式,解放程序员在维护大型复杂项目的心智负担。
听众受益
Swift 的函数式特性以及函数响应式编程思想;
使用响应式的 Signal 来建模事件(Event)和状态(State);
将可变数据(mutable data)/异步任务/IO 网络封装为 immutable 的结构,使得程序可以通过可组合性(compositional)来显著降低其复杂性,提升安全性;
如何将上述工作在现有项目中低成本、渐进式应用;
尝试声明式的思考问题:想要做什么,而不是该怎么做。
讲师介绍:
王文槿
阿里 UC 事业群 无线开发专家
我目前是一名在 UC 工作的 iOS 开发者。曾经创业过一段时间,期间主要 Swift 来构建快速移动应用,以及使用 Python 后端全家桶(redis、mongodb、zmq 等)来构建一系列 app 的后台服务。进入 UC 之后先后负责夸克浏览器的开发,Weex 适配的工作,目前主要负责短视频业务,其中主要包括视频拍摄,OpenGL/Shader,视频编解码之类的工作。
喜欢 Swift 语言的各种先进特性,2 年前加入 SwiftGG 后一直致力于 Swift 语言的布道和最佳实践的讨论。其中对利用 Swift 的函数式特性改进工程实践的方面研究较多,去年的第二届 atSwift 大会上也分享了如何通过设计一套简单的 reactive api 来让 mvvm 写起来更舒服,Swift 社区大多数都叫我“莲叔”。主要当时在翻译组里,我的昵称叫小莲 :-D。
![](https://static001.infoq.cn/resource/image/70/8a/70a9c96180b06b3151ab1a22766ae48a.png)
![](https://static001.infoq.cn/resource/image/3b/a1/3ba1d6c1ad207efde3180faf269164a1.png)
![](https://static001.infoq.cn/resource/image/c9/da/c9e9c0d680a3682eee57fa534743dbda.png)
![](https://static001.infoq.cn/resource/image/e9/73/e9de467eaf46bdd6f305787089fd0a73.png)
![](https://static001.infoq.cn/resource/image/df/69/df2ac12a3a7eb8ea3e08794e67145f69.png)
![](https://static001.infoq.cn/resource/image/55/b4/5538f02e4c6f5e69aafcd95120e90db4.png)
![](https://static001.infoq.cn/resource/image/ca/72/cacf9603d2f87c051714fb9fdef71572.png)
![](https://static001.infoq.cn/resource/image/b8/f8/b8fa501cc18ebdc43761197af8d424f8.png)
![](https://static001.infoq.cn/resource/image/72/17/72753e47aa61d40cc1f7f763aa6a9617.png)
![](https://static001.infoq.cn/resource/image/e3/1f/e3dd362590deaff7822c96d3a576b41f.png)
完整演讲 PPT 下载链接:
https://qcon.infoq.cn/2018/beijing/schedule
评论