微信技术总监解读微信架构的秘密
作为2011年中国互联网上最火的应用之一,微信是如何做到在433天之内从零到一亿的增长的?3月27日晚间,腾讯大讲堂《微信之道:至简》活动在广州中山大学举办,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。七百余位学生和业内人士到场参加,整个会议厅人山人海,挤满了两侧的过道。
微信的秘密
微信从2011年1月发布以来,在一年之内实现了上亿用户,千万级在线,在苹果中国区App Store月下载量排行第一。周颢把微信的成功总结为“三位一体”,即产品的精准,项目的敏捷,以及技术的支撑。
产品的精准
微信产品的精准定位,是建立在多年的产品经验之上的。微信的灵魂人物张小龙先生有十多年的互联网产品经验,从foxmail到QQ邮箱和微信,一直致力于用简单的规则构造复杂世界。他对微信精准的定位是微信成功的首要因素。
“当时小龙注意到国外的Kik这款应用,他立刻认识到这是一个重大的机会,当即写信给公司领导说希望做这样一个项目。公司领导认可了他的判断,于是我们立刻着手来做这件事情。”周颢这样说。
项目的敏捷
什么是敏捷?周颢说,敏捷就是试错法,用最快的迭代速度不断追求卓越。敏捷是一种态度,允许发布前十分钟的变更,并给予产品决策以最大的自由度。
微信的敏捷是建立在强大的基础组件之上的。这包括自动代码声称框架,逻辑容器,监控/统计框架和存储组件等等,使得功能和版本更新在很大程度上可以不依赖于复杂的手工操作。周颢说,大多数互联网产品,最多只能做到一天几个变更,然而,“微信可以做到每天20个变更。“
技术的支撑
技术支撑方面,微信使用的同步协议叫做SYNC,参考了微软的ActiveSync,用一个Key来实现状态同步。这样一种协议在后台实现上比业界通用方案要复杂许多,但是能把客户端的实现大大简化,同时在很大程度上能够满足iPhone,安卓,塞班等多个操作系统的不同需求。
微信秉承“重后台轻客户端”的思路,因为客户端安装在用户手机上,变更成本很高;而后台则可以实现迅速的变更,在不发新版本的情况下实现新功能。对此,周颢举了一个例子:微信的最初版本是不支持群聊的,第二个版本支持了群聊,但第一版客户端仍然可以在后台的变更处理之下参与群聊,只是不能够发起群聊而已。
到场观众对微信都充满了兴趣,并提出了一系列高水准的问题。当周颢统计现场有多少人用过微信时,超过五分之四的观众举起了手。值得注意的是,最后的抽奖环节是使用微信的“摇一摇”功能实现的,全场数百人同时打开自己的微信并“摇一摇”,周颢摇到的观众都得到了可爱的QQ公仔。
本次活动还提供了线上视频直播和微博线上答疑。微信的两位专家通过微博上墙,不间断地回答来自微博和手机的关于微信的问题,#我在腾讯大讲堂#话题下微博达近2500条。