微信的设计思路

  • 微信前端的内容
    • 一级导航栏
    • 具体内容
      • 聊天列表
        • 列表/搜索
        • 聊天界面
          • 普通聊天界面
          • 订阅号界面
      • 搜索界面
      • 通讯录列表
      • 我的详情列表
      • 其他功能
        • 朋友圈功能
          • Timeline功能
          • 评论支持
    • 一些组件设计
      • 列表,支持分栏(空白/灰白),支持搜索。
      • Web界面的支持,可以使用SDK自带的浏览器组件,苹果强制要求官方,安卓可控。
    • 一些前端需要处理好的内容
      • 缓存处理
      • 聊天记录迁移设计
    • 安卓和iOS目前没有成熟的通用框架,只能2个组分别开发。因为使用PhoneGap(Cordova)只能做demo。
  • 微信后台内容
    • 各种业务操作
      • 用户的信息
        • 用户的通讯录列表
      • 用户的朋友圈列表接口
      • 各种其他的
    • 推送服务
      • 注解:苹果可以使用苹果推送的服务器。安卓由于国内不支持谷歌原生框架,只能自行设计,并在安卓底层常驻。或者使用腾讯微信的信鸽
    • 技术内容
      • 根据用户基数来设计,如果用户量少,php足以应付,如果用户基数大,选用更高新能的语言,例如go,或者c++/c。但选用这些语言的风险是开发周期长。像facebook使用php,但是他们重写了php的VM,让php性能提高了不少。早起实验阶段建议使用php,但要做好后续的更换工作。
      • 数据访问量大,要用到各种响应快的数据库,redis/memcache必不可少。
      • 面对大访问量用到各种负载均衡技术,依托腾讯云或者阿里云都有底层解决方案,不需要公司有自己的团队,只要会用即可。