-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Home
garryyan edited this page Dec 19, 2016
·
32 revisions
#简介
Mars 是微信官方的终端基础组件, 是一个业务性无关,平台性无关 使用C++ 编写的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。
它主要包括以下几个部分:
- comm 封装了一些常用的公共函数,包括线程、消息队列等
- xlog 可以独立使用的日志组件
- sdt 可以独立使用的信令网络诊断组件
- 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 |
#####总的来说:
-
Mars 中包括一个完整的高性能的日志组件 xlog。
-
Mars 中 stn 是一个跨平台的 socket 层解决方案,并不支持完整的 HTTP 协议。
Mars 是一个结合移动 App 所设计的基于 socket 层的解决方案,在网络调优方面有更好的可控性,不过对于 HTTP 完整协议的支持,已经考虑后续版本会加入。
如果你想一次学习,多个平台使用,Mars 是一个比较好的选择,如果你面对的用户是移动网络下的用户,Mars 更是一个比较好的选择。但如果你只是想使用完整的 HTTP 协议,Mars暂时可能不适合你。
Mars Android 接入指南
Mars iOS/OS X 接入指南
Mars Windows 接入指南
Xlog 加密使用指引
Mars 常用术语
Mars 常见问题
Mars 自定义扩展
Mars Sample 使用说明
Mars Android 接口详细说明
Mars iOS/OS X 接口详细说明
Mars 其他资料
STN Benchmark
Xlog Benchmark
微信 Mars — 移动互联网下的高质量网络连接探索(小蛮腰科技大会PPT)
微信终端跨平台组件 Mars 系列(一) - 高性能日志模块 xlog
微信终端跨平台组件 Mars 系列 (二) - 信令传输超时设计