补充一下前端的技术栈
三个前端基本围绕 Data Driven 的架构进行设计,所以,在主体框架上使用 ReactiveX 系列组件进行驱动支撑
iOS :
纯原生开发,使用 Swift ,目前升级到 Swift 2.3 ,正在准备升级到 3.0 ,使用 MVVM 模式进行架构设计,借鉴了 React 的很多思路,使用数据驱动的方式进行整合,使用 RxSwift 作为驱动核心, Thin View Controller ,大量使用 View Model 来控制 UI 的渲染和展现
Android :
使用 React Native ,少量用来控制 App 本身的 Native Modules ,架构跟 iOS 类似,使用 RxJS 进行数据驱动核心(没有使用 Redux )
Web 端:
使用 React+React-Router+RxJS 的 Single Page Application (还在重构中,目前在线版本是用 Angular 做的,整个 Team 都在往 React 系列进行迁移),移动适配方面可能会考虑使用 Vue 系列架构进行
为什么会选择围绕 ReactiveX 进行 App 的架构设计?
我们觉得 Observable Stream + FRP 围绕数据流驱动设计 App 架构,会大大减少 UI 上的复杂度。
而因为业务本身的特点,后台系统基本也会朝着 Stream based 或者 push based 的系统进行发展,提供实时性
可以参见知乎上的讨论:
https://www.zhihu.com/question/40195289/answer/124075292?group_id=764814930422534144