-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Home
#简介
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 系列 (二) - 信令传输超时设计