微信邦

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4216|回复: 0

微信终端开源:让天下没有难写的APP

[复制链接]
发表于 2016-12-30 21:19:42 | 显示全部楼层 |阅读模式
在持续的产品开放之外,微信团队这次开放到了代码。

12月28日,在广州举行的微信公开课PRO版,微信团队现场宣布移动客户端开发跨平台网络组件Mars 正式开源。并首次阐述了微信终端开源的理念,解释如何将技术开发思想、经验、工具、代码组件也开放给外部开发者。

微信终端开源:让天下没有难写的APP

微信终端开源:让天下没有难写的APP

授人以鱼不如授人以渔

古话说得好,授人以鱼不如授人以渔。微信在产品层面开放平台、接口的同时,也在思考如何把有价值的技术思想和工具、组件传递给大家。我们试着为自己提出了一个小目标——让天下没有难写的APP

这句话很短,但想实现并没有那么容易。微信团队先后建立了微信公众号发文章,组织交流分享,但工程师间最好的交流方法是写代码,最后一个很重要的环节就是技术开源。

微信终端开源:让天下没有难写的APP

微信终端开源:让天下没有难写的APP

微信的技术经过海量用户和复杂网络环境的检验,踩过了无数的坑,积累了大量实践经验。很少有开发者有机会和条件自己去踩一遍所有这些坑,我们通过开源项目的方式,把经验传递给他们。”——微信公开课讲师赵原。

微信终端开源的四大原则

什么样的开源有价值?代码写的工整、可读性高,只是表层要求。微信终端开发团队认为,微信开源的高标准和严要求体现在四个方面:

微信终端开源:让天下没有难写的APP

微信终端开源:让天下没有难写的APP

第一价值,所有微信开源的技术内容都是源自微信实际的业务,且通过微信实际应用验证过,保证开源的内容有价值;

第二优势,微信最大的优势是拥有海量的用户。意味着在移动开发领域,微信团队可以在很多别的开发者,根本没有发现或者遇到复杂问题之前,率先解决掉麻烦;

第三活力,微信终端开源的组件跟随微信迭代而迭代,不断更新和完善;

第四易用,微信开源出去的技术项目会提供最简单的接入方法,其他开发者可以轻易的将微信开源的项目引入到自己的APP中,将微信的能力运用在自己的APP上。

微信终端首批开源项目包括三个:Tinker热补丁技术、MMDB 移动数据库及Mars跨平台网络组件。其中Tinker已在9月份开源。

活力——一个不得不提的尖锐问题

很多情况下,一个内部项目的开源,即意味着这个项目的结束。但一个优秀的开源项目则要持续投入才会有活力。

这个问题,微信团队也有过很简单、很暴力的想法,比如说团队10个人,这10个人专职做功能开发,再招10个员工投入在开源项目上。但微信讲究精兵策略,不浪费一兵一卒,此法行不通。

微信终端开源:让天下没有难写的APP

微信终端开源:让天下没有难写的APP

为了解决这个问题,微信终端团队在开发Tinker项目之前,大概用了快一年的时间解决,解决方案也很简单。简而言之,将开发团队改造成一个开源化的开发模式。微信终端团队通过对内部系统的改造,使内外部的开发模式保持基本一致,一份代码既可以在微信中使用,也可以在外部的开发者中使用,这样的开源项目我们其实就不需要投入额外的人力在里面

同时,微信团队也收获了很多价值,外部的开发者还可以给微信团队反馈一些微信自己没有发现的问题,对于微信来说这是一个很好的优化与改进的反馈渠道。最重要的一点,做开源化的改造,使得微信开发团队可以接触外部的开发技术,然后与自己的思想相融合,呈现出更加优秀的组件,通过这个过程,将微信团队的学习能力做了最大化的提升。

现场回顾

在12月28日微信公开课PRO版现场,微信终端团队现场宣布Mars跨平台网络组件开源。并在现场构建了一个使用Mars的demo应用。

在 IM 方面,弱网络一直是应用开发者面前的一大问题,Mars 团队成员基于微信业务需求,进行了大量的优化工作。在微信最新的Android6.3.32版本里,已经使用了Mars组件代码。项目团队会在外部开发者反馈的问题中不断对Mars进行优化升级。

(想了解更多Mars资讯的开发者可以访问https://github.com/Tencent/mars

微信终端开源:让天下没有难写的APP

微信终端开源:让天下没有难写的APP

回到开源话题上来,开源不仅是一种态度,更是一种能力,微信团队希望通过微信的开源做一些改变,同时希望通过微信的开源打通微信终端内部的团队,和外部社区结合在一起,一方面微信团队把微信的思想传递给了大家,另一方面也想把大家的思想传递进来。

一切正在发生,一切刚刚开始。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信邦网联系QQ|Archiver|手机版|小黑屋|鲁公网安备 37082802000167号|微信邦 ( 鲁ICP备19043418号-5 )

GMT+8, 2024-12-22 19:48 , Processed in 0.111674 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Wxuse Inc. | Style by ytl QQ:1400069288

快速回复 返回顶部 返回列表