-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Home
#Mars -- 微信跨平台跨业务基础组件 ##Mars 是什么 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 或讨论相关技术,大家可加入 QQ 交流群 。为了方便大家交流,入群请注明姓名与公司等信息。
####更多文章
Android微信智能心跳方案:http://mp.weixin.qq.com/s/ghnmC8709DvnhieQhkLJpA 微信Mars — 移动互联网下的高质量网络连接探索(小蛮腰科技大会PPT):http://ppt.geekbang.org/slide/show/630
微信终端跨平台组件 Mars 系列(一) - 高性能日志模块 xlog:http://mp.weixin.qq.com/s/cnhuEodJGIbdodh0IxNeXQ
微信 Mars:客户端跨平台组件的开发经验:http://mp.weixin.qq.com/s/obfHNHYXDZDMGrZd-TpRGA
微信终端跨平台组件 Mars 系列 (二) - 信令传输超时设计:http://mp.weixin.qq.com/s/PnICVDyVuMSyvpvTrdEpSQ
微信客户端怎样应对弱网络(GMCC会议PPT):http://ppt.geekbang.org/slide/show/203
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 系列 (二) - 信令传输超时设计