画布 1
移动客户端开发图谱
  基础
    编程语言
      ObjectiveC/Swift
      Core Foundation/Foundation
      Block&GCD
      多线程/同步/Runloop
      Runtime
      内存管理（ARC）
    其他语言
      Html/CSS/JavaScript
    基础框架&模块
      UIKit（控件、视图控制器、布局、事件、手势、样式等）
      CoreAnimation（图层、渲染、动画、专用layer等）
      多媒体相关框架（音频、视频、录音、拍照、摄像等）
      CoreGraphics（2D绘图）
      网络相关（AFNetworking、JSON等）
      缓存&存储
      系统应用框架（通讯录、地图、定位、推送、iCloud、应用内支付等）
      硬件
    工具使用（XCode、Charles、Sketch、SourceTree、Atom、Sublime、MacDown等）
    标准协议
    开源框架
      布局（Masonry、SnapKit）
      动画（pop）
      控件（MBProgressHUD、FMTopReflesh）
      图像（SDWebImage、FLAnimatedImage）
      二维码（libqrencode、ZBarSDK）
      URL统一跳转
      网络&序列化（AFNetworking、JSONModel）
      存储&缓存（YYCache、FMDB）
      通用扩展（YYCategories、Colours）
      研发支撑（JSPatch、FLEX、CocoaLumberjack、Obfuscator、JPFPSStatus）
    三方平台服务
      推送（友盟、极光）
      分享（微信、微博、QQ、）
      登录（微信、微博、QQ）
      支付（微信、支付宝）
      LBS（高德地图、百度地图）
      地图（高德地图、百度地图）
      Crash监控（友盟、Bugly、Fabric）
      数据统计（友盟）
      直播
      短信（大鱼、云片、网易云）
      客服
  技术
    热门技术
      直播
      短视频
      AR/VR
      人工智能
    UI技术
      布局
      主题&样式
      动画
      渲染、异步渲染
      控件&组件
      图像
    动态化
      热修复
        iOS
          JSPatch（JS）
          阿里HotFix（Lua＋Wax）
        Android
          阿里AndFix
          阿里Dexposed
          微信Tinker
          QQ空间补丁方案
      Hybrid容器
        UIWebView、WebKit
        Adobe PhoneGap
        手淘的Windvane
        微信小程序
      Native动态化
        阿里Weex
        FB ReactNative
        滴滴DynamicCocoa（将OC编译成JS动态下发）
        支付宝的鸟巢（Birdnest Native）
        samurai-native（好久没有更新了）
        各公司的各种标准或非标准的动态方案，太多了
      对比维度
        支持的平台，是否跨平台
        动态能力
        语言，偏向原生开发还是偏向前端
        协议是否标准（Html5+CSS＋JS还是JSON＋Native等等）
        性能、动画支持程度
    多媒体
      图像
      音视频
    网络
    存储
    H5
    安全（代码安全、存储安全、网络安全等）
    硬件（蓝牙、近场、3Dtouch、指纹、重力感应等）
    研发支撑（日志、配置、AB测试、性能测试、Bundle化、云调试等）
  优化
    质量&安全
      单元测试、UI测试
        XCTest Framework
      自动化测试
      业务解藕
      安全：全站Https，密码存储、密钥混淆、关键校验交由服务端处理，安全都是相对的
    体验
      性能优化：缓存＋异步＋预置＋预加载＋复用＋性能监控+FPS
      网络优化
        Http2
        HttpDNS
        域名收敛
    效率（研发效率、运营效率）
      架构优化
        横向解藕（业务组件化、服务化、统一跳转）
        纵向解藕（分层、容器化）
      框架选择
        解决什么问题，以及框架本身的复杂度
        开源框架的稳定性、易用性和扩展性
        自研框架的成本
      编程模式选择（MVC、MVP、MVVM）
      数据统计（无痕埋点、数据可视化）
      研发支撑体系
      敏捷开发
  工程化
    开发阶段
      持续集成、预览
    测试阶段
    发布阶段