热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开源巨献:腾讯最热门30款开源项目

本文为大家整理腾讯开源项目,排名顺序按照Github★Star数排列!一起来看看!0、Android热修复框架Tinker★Star896

0?wx_fmt=gif

本文为大家整理 腾讯 开源项目,排名顺序按照 Github ★Star 数排列!一起来看看!


0、Android 热修复框架 Tinker ★Star 8967


640?wx_fmt=png


Tinker是Android的热修复解决方案库,它支持dex,库和资源更新,无需重新安装apk。有一些问题,Tinker不能动态更新:

无法更新AndroidManifest.xml,例如添加Android组件。;不支持一些三星型号与os版本的android-21;由于Google Play开发者分发协议,我们无法动态更新我们的apk(详情:

https://github.com/Tencent/tinker)


1、微信客户端跨平台组件 Mars  ★Star 8874




Mars 是微信官方的终端基础组件,目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。主要包括以下几个部分:

● comm:可以独立使用的公共库,包括socket,线程,消息队列,协程等;

● Xlog软件:日志组件,可靠性高,高性能

● SDT:网络诊断组件

● STN:信令分发网络模块,也是Mars最主要的部分。图。(详情:https://github.com/Tencent/mars)


2、微信移动数据库框架 WCDB(WeChat Database)  ★Star 3123


WCDB(WeChat Database)是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android,WCDB于6月9日正式对外开源。


开源地址:
https://github.com/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  ★Star 2393


vConsole 是一款由微信公众平台前端团队打造的前端调试面板,专治手机端看 log 难题。 目前 vConsole 自带有 2 个面板,默认为“日志”面板,负责展示 log。 第二个是“系统”面板,vConsole 会自动将一些基础信息(如系统版本)打印出来,方便开发者定位问题。若页面是在微信内置浏览器中打开的,vConsole 还会打印出微信版本号、当前网络类型等额外信息。(详情:https://github.com/WechatFE/vConsole)


4、微信团队前端开发工具 WeFlow  ★Star 2233



这是一个高效、强大、跨平台(macOS & Win)的前端工具,核心基于 tmt-workflow 工作流.(详情:

https://github.com/weixin/WeFlow)


5、分布式后台服务引擎 MSEC ★Star 2221




毫秒服务引擎(MSEC)由腾讯 QQ 团队开源。它是一个后端 DEV&OPS 引擎,包括RPC,名称查找,负载平衡,监控,发布和容量管理。毫秒服务引擎特性:

● 模块间访问采用RPC的方式,开发者不用关注网络与报文格式,像写单机程序一样开发分布式服务。

● 负载自动均衡与容错,对于单机故障、局部网络波动等状况自动应对,服务高可用性。

● 支持 C/C++/java/PHP 语言,如果选择 C/C++ 语言,支持协程,兼具开发和运行效率。

● Web 化的管理界面

● 简易部署,需要复杂部署的服务器都采用docker镜像的方式安装

● 相比使用其他开源组件拼凑起来的解决方案,毫秒服务引擎更加的体系化,对团队的规范更加到位(详情:http://haomiao.qq.com/)


6、随身调测平台GT ★Star 2183


GT(随身调)是 APP 的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment)。利用 GT,仅凭一部手机,无需连接电脑,您即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、 开发日志的查看、Crash日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等。如果您觉得GT提供的功能还不够满足您的需要,您还 可以利用 GT 提供的基础 API 自行开发有特殊功能的 GT 插件,帮助您解决更加复杂的 APP 调试问题。(详情:

https://github.com/Tencent/GT)


7、Unity3D 下 Lua 编程解决方案 xLua ★Star 1816


xLua为Unity3D增加Lua脚本编程的能力,xLua在功能、性能、易用性都有不少突破,这几方面分别最具代表性的是:

① 可以运行时把C#实现(方法,操作符,属性,事件等等)替换成lua实现;

② 出色的GC优化,自定义struct,枚举在Lua和C#间传递无C# gc alloc;

③ 编辑器下无需生成代码,开发更轻量;

(详情:https://github.com/Tencent/xLua)


8、RPC开发框架Tars ★Star 1800




它是基于名字服务使用 Tars 协议的高性能 RPC 开发框架,配套一体化的运营管理平台。Tars 是腾讯从 2008 年到今天一直在使用的后台逻辑层的统一应用框架 TAF(Total Application Framework),目前支持 C ++ 和 Java 两种语言。目前该框架在腾讯内部,各大核心业务都在使用,颇受欢迎,基于该框架部署运行的服务节点规模达到上万个。(详情:

https://github.com/Tencent/Tars)


9、MySQL集群PhxSQL  ★Star 1759




PhxSQL是一个基于Paxos和Percona的高可用性和强大的一体化MySQL集群,PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。(详情:https://github.com/tencent-wechat/phxsql) 


10、超轻量级 Web 手势库AlloyFinger  ★Star 1734


可以看到hammerjs体积远远大于AlloyFinger,对于手机QQ web加载速度性能追求极致的同学来说,使用hammerjs的大小是不可以接受的!那么,为什么hammerjs这么大?看下架构设计便知♂(详情:https://github.com/AlloyTeam/AlloyFinger)架构设计:



11、多机状态拷贝类库PhxPaxos  ★Star 1244


PhxPaxos 是腾讯公司微信后台团队自主研发的一套基于 Paxos 协议的多机状态拷贝类库。它以库函数的方式嵌入到开发者的代码当中, 使得一些单机状态服务可以扩展到多机器,从而获得强一致性的多副本以及自动容灾的特性。 这个类库在微信服务里面经过一系列的工程验证,并且我们对它进行过大量的恶劣环境下的测试,使其在一致性的保证上更为健壮。(详情:

https://github.com/tencent-wechat/phxpaxos)


12、Web组件化框架Omi  ★1057


Omi是一款开放现代的Web组件化框架,有以下特性:

① 局部CSS:HTML+ Scoped CSS + JS组成可复用的组件。不用担心组件的CSS会污染组件外的,Omi会帮你处理好一切

② 超小的尺寸:7 kb (gzip),虽然文件尺寸小,但是兼容性很好!

③ 更新更自由:每个组件都有update方法,可自由更新。

④ 模板引擎可替换,开发者可以重写Omi.template方法来使用任意模板引擎

⑤ 完全面向对象

⑥ Omi提供了ES6+和ES5的两种开发方案

(详情:https://github.com/AlloyTeam/omi)


13、UI 前端框架 QMUI Web  ★Star 888


QMUI Web 是一个专注 Web UI 开发,帮助开发者快速实现特定的一整套设计的框架。通过 QMUI Web,开发者可以很轻松地提高 Web UI 开发的效率,同时保持了项目的高可维护性与稳健。如果你的项目需要有一套完整的设计,并且可能有频繁的变动,那么 QMUI Web 框架将会是你最好的解决方案。(详情:

https://github.com/QMUI/QMUI_Web)


14、curvejs  ★Star 749


是腾讯AlloyTeam打造的一款魔幻线条框架,让线条成为一名优秀的舞者,让线条们成为优秀的舞团,HTML5 Canvas就是舞台。其原理就是使用 Perlin-Noise + Particle System + Bézier Curve + Color Transition 制作而成。使用curvejs实现类似变幻线功能只需要不到10行代码。 https://github.com/AlloyTeam/curvejs


15、基于C ++的RPC框架 PhxRPC  ★Star 645


PhxRPC是微信后台团队推出的一个非常简洁小巧的RPC框架,编译生成的库只有450K(详情:

https://github.com/tencent-wechat/phxrpc)


16、Web 开发调试工具AlloyLever  ★533


AlloyLever 是腾讯 AlloyTeam 团队开源的一款 Web 开发调试工具。AlloyLever的功能:点击 alloylever 按钮之间切换显示或隐藏工具面板; Console会输出所有用户打印的日志如 console.[log/error/info/debug/debug] ;Console会输出所有的错误信息(脚本错误和网络请求错误) ;XHR 面板会输出所有(XMLHttpRequest)AJAX 请求和服务器端返回的数据; Resouces 面板会输出所有的 COOKIE 信息和 LocalStorage ;TimeLime 面板会输出页面相关的生命周期里的时间段耗时情况(详情:

https://github.com/AlloyTeam/AlloyLever)


17、bk-cmdb  ★Star 452


蓝鲸配置平台是一款面向应用的 CMDB,在 ITIL 体系里,CMDB 是构建其它流程的基石,而在蓝鲸智云体系里,配置平台就扮演着基石的角色,为应用提供了各种运维场景的配置数据服务。现有功能如下:用户管理、业务管理、拓扑(集群、模块)管理、资源池管理、主机管理、日志查询(详情:

https://github.com/Tencent/bk-cmdb)


18、分布式开发框架Pebble-RPC  ★Star 351


Pebble是一个分布式开发框架。基于该框架,可以让开发者只需专注于业务逻辑的实现,而不需要关注基础功能的开发,如网络通信,数据存储,集群管理等。使用pebble配套的运营系统,可方便的进行游戏开区开服,版本升级,扩容缩容等操作。当前发布的Pebble版本,是一个Linux平台C++版本的后台开发框架。整个分布式开发框架包括:服务管理、集群管理、RPC通信、协程、广播、进程框架。(详情:https://github.com/TencentOpen/Pebble)


19、UI自动化测试框架 GAutomator  ★Star 337


GAutomator 是一 Unity 手游的UI 自动化测试框架。

Windows Os 和软件要求: Windows 7(32/64位),Windows 8或更高版本;python 2.7;Android SDK(或adb),在设备上启用ADB设置,并使用usb与您的PC连接您的Android设备。Linux和软件要求:Ubuntu 14.04 LTS;python 2.7;Android SDK(或adb),在设备上启用ADB设置,并使用usb与您的PC连接您的Android设备。

Android:Android 4.3(API级别18)或更高版本。(详情:https://github.com/Tencent/GAutomator)


20、WeDemo  ★Star 297


WeDemo 为微信团队开源项目,用于帮助微信开发者完成微信登录、微信分享等功能的接入和开发。开发者可参考源代码完成开发,也可以直接将代码应用到自己的App开发中,安全、便捷地在App中实现微信分享、微信登录功能。(详情:https://github.com/Tencent/WeDemo)


21、AI开发框架组件 Behaviac  ★Star 297




Behaviac 是游戏 AI 的开发框架组件,也是游戏原型的快速设计工具。支持行为树BT,状态机 FSM,HTN 等多种范式,方便的编辑和调试。支持全平台,适用于客户端和服务器,助力游戏快速迭代开发。 编辑器可以运行在 PC 上,操作方便直观可靠,支持实时和离线调试;编辑器可以导出 xml,bson 等多种格式,更可以导出 C++,C# 源码,提供最高效率。 运行时支持全平台,有 C++ 和 C# 两个版本,原生支持 Unity。 (详情:

https://github.com/Tencent/behaviac)


22、Fanvas  ★Star 214


Fanvas是一个把swf转为html5 canvas动画的系统,由两部分组成:Actionscript实现的解析器、js运行库。(详情:https://github.com/Tencent/Fanvas)


23、HaboMalHunter ★Star 161


HaboMalHunter 是 Habo Malware 分析系统(https://habo.qq.com)的子项目,可用于Linux系统上的自动恶意软件分析和安全评估。该工具可用于 Linux x86 / x64 平台上 ELF 文件的静态和动态分析。(详情:

https://github.com/Tencent/HaboMalHunter)


24、基于ACE的服务框架 TEAF  ★157


TEAF(Tencent Easy ACE Framework),基于 ACE 的高性能服务框架,单进程多线程模型,支持 select/epoll 等多种网络 IO 模型,同时支持 tcp 和 udp 协议,支持二进制(pb等)和文本格式(json等,易于理解),相对多进程模型的框架来说更易维护,更轻量。业务侧只需要开发自己的逻辑处理即可实现高性能的业务后台服务器。已经在腾讯互娱(IEG)大部分平台类产品中成熟应用,比如 idip,游戏人生,心悦,帮帮,新终端游戏中心 aj,cross 等,公司其他 BG 也有很多产品在使用。(详情:

https://github.com/Tencent/Teaf)


25、QT4A ★Star 67


QT4A(Android的快速测试)是适用于 Android 应用程序的 QTA 测试自动化驱动程序。支持Android 2.3 - 6.0 版本,需要设备根。支持多设备同时测试;支持跨进程,跨应用测试;支持进行过控件混淆的安装包(需要映射文件);支持自定义控件(如果有代码混淆需要映射文件)(详情:

https://github.com/Tencent/QT4A)


26、辅助测试工具 WeTest-Assistant ★Star 49


WeTest 助手包括性能测试和远程调试两大功能。手游客户端性能测试常用性能维度,CPU,内存,FPS,流量一次性全部收集, 图表化展示,数据可按场景化分类,并且支持离线和在线两种模式,地铁上都可以做测试,Web上看报告。 支持ROOT和非ROOT安卓手机,支持越狱iOS系统。(详情:https://github.com/Tencent/WeTest-Assistant)


27、QT4i  ★Star 44


QT4i是iOS应用程序的QTA测试自动化驱动程序。主要特性:轻松易用、支持iOS Native控件,webview控件和自定义控件;平台支持,高效维护。(详情:https://github.com/Tencent/QT4i)


28、KNVProtoEngine ★Star 44


KNV是一个模式自由的高性能树型协议处理引擎,是对Key-Value的一个通用结构化扩展。(详情:

https://github.com/Tencent/KNVProtoEngine)


29、优图人脸识别 Python_sdk ★Star 32


优图人脸识别(Face Recognition), 是由腾讯优图团队研发的,基于人的脸部特征信息进行身份识别的一种生物识别技术。它提供了"人脸检测与分析"、"人脸比对"、"人脸验证"、"人脸识别"等一整套技术方案。(详情:

https://github.com/TencentYouTu/python_sdk)

看完本文有收获?请转发分享给更多人


欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。

本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容。打造中国互联网圈最有价值的架构师圈子。

  • 长按下方的二维码可以快速关注我们

  • 640?wx_fmt=jpeg

    如想加群讨论学习,请点击右下角的“加群学习”菜单入群



推荐阅读
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了使用数据库管理员用户执行onstat -l命令来监控GBase8s数据库的物理日志和逻辑日志的使用情况,并强调了对已使用的逻辑日志是否及时备份的重要性。同时提供了监控方法和注意事项。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
author-avatar
冷月荐向_878
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有