Skip to content
garryyan edited this page Dec 19, 2016 · 32 revisions

#简介

Mars 是微信官方的终端基础组件, 是一个业务性无关,平台性无关 使用C++ 编写的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。

它主要包括以下几个部分:

  1. comm 封装了一些常用的公共函数,包括线程、消息队列等
  2. xlog 可以独立使用的日志组件
  3. sdt 可以独立使用的信令网络诊断组件
  4. stn 可以独立使用的信令分发网路组件

####为什么使用 Mars

||Mars|AFNtworking|Retrofit|OkHttp|

|--|--|--|--|--|

|跨平台|yes|no|no|no|

|实现语言|C++|Objective-C|Java|Java|

|具体实现|基于 socket|基于 HTTP|基于 HTTP|基于 HTTP|

|支持完整的 HTTP|no|yes|yes|yes|

|支持长连|yes|no|no|no|

|日志|yes|no|no|no|

|DNS 扩展|yes|no|no|no|

|结合移动 App做设计|yes|no|no|no|

#####总的来说:

  1. Mars 中包括一个完整的高性能的日志组件 xlog。

  2. Mars 中 stn 是一个跨平台的 socket 层解决方案,并不支持完整的 HTTP 协议。

Mars 是一个结合移动 App 所设计的基于 socket 层的解决方案,在网络调优方面有更好的可控性,不过对于 HTTP 完整协议的支持,已经考虑后续版本会加入。

如果你想一次学习,多个平台使用,Mars 是一个比较好的选择,如果你面对的用户是移动网络下的用户,Mars 更是一个比较好的选择。但如果你只是想使用完整的 HTTP 协议,Mars暂时可能不适合你。