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暂时可能不适合你。