从Observer到Observable:使用Functional Swift提升复杂iOS项目的可维护性

所属专题:编程语言

所属领域:

嘉宾 : 王文槿 | 阿里UC事业群无线开发专家

会议室 : 203CD

讲师介绍

专题演讲嘉宾:王文槿

阿里UC事业群 无线开发专家

我目前是一名在UC工作的iOS开发者。曾经创业过一段时间,期间主要Swift来构建快速移动应用,以及使用Python后端全家桶(redis、mongodb、zmq等)来构建一系列app的后台服务。进入UC之后先后负责夸克浏览器的开发,Weex适配的工作,目前主要负责短视频业务,其中主要包括视频拍摄,OpenGL/Shader,视频编解码之类的工作。

喜欢Swift语言的各种先进特性,2年前加入SwiftGG后一直致力于Swift语言的布道和最佳实践的讨论。其中对利用Swift的函数式特性改进工程实践的方面研究较多,去年的第二届atSwift大会上也分享了如何通过设计一套简单的reactive api来让mvvm写起来更舒服,Swift社区大多数都叫我“莲叔”。主要当时在翻译组里,我的昵称叫小莲 :-D。

议题介绍

地点:203CD
所属专题:编程语言
所属领域:

演讲:从Observer到Observable:使用Functional Swift提升复杂iOS项目的可维护性

iOS发展已经超过十年的时间,已经成长成为一个成熟的软件平台。这意味着绝大多数的iOS项目的迭代时间已经超过了3年,伴随着的不断膨胀的代码,还有各种各样的历史包袱。最严重就是大量的状态、中间层导致迭代新功能所需要的成本越来越高。

本次分享会结合Swift的函数式特性以及FRP的思想,尝试对传统的观察者模式(Listener/Delegate/Callback)和状态机(State Machine)进行改进,来实现更好的状态管理,更可控的回调时序以及更安全、鲁棒的编程模式,解放程序员在维护大型复杂项目的心智负担。

听众受益

  • Swift的函数式特性以及函数响应式编程思想;
  • 使用响应式的Signal来建模事件(Event)和状态(State);
  • 将可变数据(mutable data)/异步任务/IO网络封装为immutable的结构,使得程序可以通过可组合性(compositional)来显著降低其复杂性,提升安全性;
  • 如何将上述工作在现有项目中低成本、渐进式应用;
  • 尝试声明式的思考问题:想要做什么,而不是该怎么做。

交通指南

© 2019 Baidu - GS(2018)5572号 - 甲测资字1100930 - 京ICP证030173号 - Data © 长地万方