在持续的产品开放之外,微信团队这次开放到了代码。
12月28日,在广州举行的微信公开课PRO版,
微信团队现场宣布
移动客户端开发
跨平台网络组件
Mars 正式
开源
。并
首次阐述了微信终端开源的
理念,解释如何
将技术开发思想、经验、工具、代码组件也开放给外部
开发者。
授人以鱼不如授人以渔
古话说得好,授人以鱼不如授人以渔。微信在产品层面开放平台、接口的同时,也在思考如何把有价值的技术思想和工具、组件传递给大家。我们试着为自己提出了一个小目标——
让天下没有难写的APP
。
这句话很短,但想实现并没有那么容易。微信团队先后建立了微信公众号发文章,组织交流分享,但
工程师间最好的交流方法是写代码
,最后一个很重要的环节就是
技术开源。
“
微信的技术
经过海量用户和复杂网络环境的检验,踩过了无数的坑,积累了大量实践
经验。
很少有开发者有机会和条件自己去踩一遍所有这些坑,我们
通过开源项目的方式,把
经验
传递给他们。
”——微信公开课讲师赵原。
微信终端开源的四大原则
什么样的开源有价值?代码写的工整、可读性高,只是表层要求。微信终端开发团队认为,微信开源的高标准和严要求体现在四个方面:
第一
价值
,所有微信开源的技术内容都是源自微信实际的业务,且通过微信实际应用验证过,保证开源的内容有价值;
第二
优势
,微信最大的优势是拥有海量的用户。意味着在移动开发领域,微信团队可以在很多别的开发者,根本没有发现或者遇到复杂问题之前,率先解决掉麻烦;
第三
活力
,微信终端开源的组件跟随微信迭代而迭代,不断更新和完善;
第四
易用
,微信开源出去的技术项目会提供最简单的接入方法,其他开发者可以轻易的将微信开源的项目引入到自己的APP中,将微信的能力运用在自己的APP上。
微信终端首批开源项目包括三个:
Tinker热补丁技术、MMDB 移动数据库及Mars跨平台网络组件。
其中Tinker已在9月份开源。
活力——一个不得不提的尖锐问题
很多情况下,一个内部项目的开源,即意味着这个项目的结束。但一个优秀的开源项目则要持续投入才会有活力
。
这个问题,微信团队也有过很简单、很暴力的想法,比如说团队10个人,这10个人专职做功能开发,再招10个员工投入在开源项目上。但微信讲究精兵策略,不浪费一兵一卒,此法行不通。
为了解决这个问题,微信终端团队在开发Tinker项目之前,大概用了快一年的时间解决,解决方案也很简单。简而言之,
将开发团队改造成一个开源化的开发模式。