开源最前线(ID:OpenSourceTop) 猿妹综合整理
综合自:腾讯开源、开源中国等
在智博会上,马化腾对外表明了腾讯对开源的态度。这也是他首次对外谈起腾讯开源:
腾讯希望在科研领域投入更多力量,把‘科技向善’纳入公司新的使命与愿景。我们将通过内外部开放源代码等方式,积极参与‘全球科技共同体’的共建。
腾讯开源始于,,腾讯尝试发布了第一个对外开源项目;,腾讯开源开始走向流程化:先后制定和发布了腾讯的开源策略和具体流程,并发布第一批的6个官方开源项目。不过,直到才开始快速发展,大部分开源项目都托管在GitHub上。
如今腾讯已经成为开源领域的重要参与者,共开源了 75 个项目,覆盖云计算、腾讯游戏、腾讯AI、腾讯安全、小程序等领域,所有项目在GitHub上获得了24万+标星。
在 Apache 基金会参与方面,腾讯主导发布了 Hadoop 2.8.4、2.8.5 和 Spark 2.3.2,也是多个项目的核心贡献者,包括 Hadoop 、Spark 、Flink、HBase、Hive、MXNet、Parquet 等。
在 Linux 基金会参与方面,腾讯向 Linux 贡献了 Tars 和 TSeer 两大项目,并将 AI 开源项目 Angel 贡献给 LFAI 基金会(原名 LF deep learning 基金会)。
腾讯开源三步走
事实上,腾讯有自己三步走的“开源路线”:第一步,加强内部开源协同,主要是通过拉通组织,推动跨部门的协作;同时优化内部资源配置,在重点技术方向上集中优势,寻求技术突破;第二步,通过对外开源引入外部资源,优化设计与代码、拓展应用场景,并且加强与外部贡献者的联系,构建起技术影响力;第三步,通过社区的开放治理,将一些有广阔前景的项目进行大规模的技术推广以及应用,在这个过程中培养有领导力与影响力的社区技术领袖,构建起开发者生态体系,从而实现全社会研发资源的优化配置。
此外,据了解腾讯开源将重点关注 IaaS、容器与云原生、数据库、大数据与 AI、中间件、IoT/边缘计算、小程序生态等。
此前,猿妹也曾和大家分享过腾讯最热门的开源项目盘点:
1、Android 热修复框架 Tinker
Tinker是Android的热修复解决方案库,它支持dex,库和资源更新,无需重新安装apk。有一些问题,Tinker不能动态更新:
无法更新AndroidManifest.xml,例如添加Android组件。;不支持一些三星型号与os版本的android-21;由于Google Play开发者分发协议,我们无法动态更新我们的apk(详情:
/Tencent/tinker)
1、微信客户端跨平台组件 Mars
Mars 是微信官方的终端基础组件,目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。主要包括以下几个部分:
● comm:可以独立使用的公共库,包括socket,线程,消息队列,协程等;
● Xlog软件:日志组件,可靠性高,高性能
● SDT:网络诊断组件
● STN:信令分发网络模块,也是Mars最主要的部分。图。(详情:/Tencent/mars)
2、微信移动数据库框架 WCDB(WeChat Database)
WCDB(WeChat Database)是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android,WCDB于6月9日正式对外开源。(地址:/Tencent/wcdb)
WCDB for iOS/macOS 基本功能:
WINQ(WCDB语言集成查询): 通过WINQ,开发者无须为了拼接SQL的字符串而写一大坨胶水代码。ORM(Object Relational Mapping): WCDB支持灵活、易用的ORM。开发者可以很便捷地定义表、索引、约束,并进行增删改查操作。多线程高并发: WCDB支持多线程读与读、读与写并发执行,写与写串行执行。加密:WCDB提供基于SQLCipher的数据库加密。损坏修复: WCDB内建了Repair Kit用于修复损坏的数据库。反注入: WCDB内建了对SQL注入的保护。
WCDB for Android 基本功能:
基于SQLCipher的数据库加密使用连接池实现并发读写内建 Repair Kit 可用于修复损坏数据库针对占用空间大小优化的数据库备份/恢复功能日志输出重定向以及性能跟踪接口内建用于全文搜索的 mmicu FTS3/4 分词器
3、手机前端开发调试工具 vConsole
vConsole 是一款由微信公众平台前端团队打造的前端调试面板,专治手机端看 log 难题。目前 vConsole 自带有 2 个面板,默认为“日志”面板,负责展示 log。第二个是“系统”面板,vConsole 会自动将一些基础信息(如系统版本)打印出来,方便开发者定位问题。若页面是在微信内置浏览器中打开的,vConsole 还会打印出微信版本号、当前网络类型等额外信息。(详情:/WechatFE/vConsole)
4、微信团队前端开发工具 WeFlow
这是一个高效、强大、跨平台(macOS & Win)的前端工具,核心基于 tmt-workflow 工作流.(详情:
/weixin/WeFlow)
5、分布式后台服务引擎 MSEC
毫秒服务引擎(MSEC)由腾讯 QQ 团队开源。它是一个后端 DEV&OPS 引擎,包括RPC,名称查找,负载平衡,监控,发布和容量管理。毫秒服务引擎特性:
● 模块间访问采用RPC的方式,开发者不用关注网络与报文格式,像写单机程序一样开发分布式服务。● 负载自动均衡与容错,对于单机故障、局部网络波动等状况自动应对,服务高可用性。● 支持 C/C++/java/PHP 语言,如果选择 C/C++ 语言,支持协程,兼具开发和运行效率。● Web化的管理界面● 简易部署,需要复杂部署的服务器都采用docker镜像的方式安装● 相比使用其他开源组件拼凑起来的解决方案,毫秒服务引擎更加的体系化,对团队的规范更加到位(详情:/)
查看更多可点击查阅:,不过这里面只盘点了30个腾讯开源项目,有时间会整理一份更全面的清单和大家分享。
●编号748,输入编号直达本文
●输入shuku获取本书电子资源
●输入m获取到文章目录