|
|
|
|
移动端

腾讯关于微信和移动开发的10大开源项目

腾讯开源了许多非常有价值的项目,下面我们一起来看看腾讯10大开源项目:包括Android 热修复框架 Tinker、微信客户端跨平台组件 Mars以及小程序组件化开发框架 wepy等等。

作者:佚名来源:程序师|2018-03-07 11:11

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

腾讯开源了许多非常有价值的项目,下面我们一起来看看腾讯10大开源项目有哪些?

1、Android 热修复框架 Tinker

图0:腾讯关于微信和移动开发的10大开源项目

Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。

它主要包括以下几个部分:

  • gradle编译插件: tinker-patch-gradle-plugin
  • 核心sdk库: tinker-android-lib
  • 非gradle编译用户的命令行版本: tinker-patch-cli.jar(详情:https://github.com/Tencent/tinker)

2、微信客户端跨平台组件 Mars

图1:腾讯关于微信和移动开发的10大开源项目

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

  • comm:可以独立使用的公共库,包括socket,线程,消息队列,协程等;
  • Xlog软件:日志组件,可靠性高,高性能
  • SDT:网络诊断组件
  • STN:信令分发网络模块,也是Mars最主要的部分。图。(详情:https://github.com/Tencent/mars)

3、小程序组件化开发框架 wepy

WePY 是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions的引入都是为了能让开发小程序项目变得更加简单,高效。

同时WePY也是一款成长中的框架,大量吸收借鉴了一些优化前端工具以及框架的设计理念和思想。如果WePY有不足地方,或者你有更好的想法,欢迎提交ISSUE或者PR。

特性:

  • 类Vue开发风格
  • 支持自定义组件开发
  • 支持引入NPM包
  • 支持Promise
  • 支持ES2015+特性,如Async Functions
  • 支持多种编译器,Less/Sass/Stylus、Babel/Typescript、Pug
  • 支持多种插件处理,文件压缩,图片压缩,内容替换等
  • 支持 Sourcemap,ESLint等
  • 小程序细节优化,如请求列队,事件优化等(详情:https://github.com/Tencent/wepy)

4、轻量级高性能的 Hybrid 框架 VasSonic

VasSonic是腾讯QQ会员 VAS团队研发的一个轻量级的高性能的Hybrid框架,专注于提升页面首屏加载速度,完美支持静态直出页面和动态直出页面,兼容离线包等方案。

接入VasSonic后首次打开可以在初始化APP的时候并行请求页面资源,并且具备边加载边渲染的能力。非首次打开时,APP可以快速加载上次打开动态缓存在本地的页面资源,然后动态刷新页面。腾讯手机QQ通过VasSonic框架使得页面首屏耗时平均低于1S以下。(地址:https://github.com/Tencent/VasSonic)

5、微信团队前端开发工具 WeFlow

图2:腾讯关于微信和移动开发的10大开源项目

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

6、移动数据库框架 WCDB

WCDB是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android。

图3:腾讯关于微信和移动开发的10大开源项目

基本特性:

  • 易用,WCDB支持一句代码即可将数据取出并组合为object。
  • 高效,WCDB通过框架层和sqlcipher源码优化,使其更高效的表现。
  • 完整,WCDB覆盖了数据库相关各种场景的所需功能。(详情:https://github.com/Tencent/wcdb)

7、基于参数服务器理念的机器学习框架 Angel

Angel 是一个基于参数服务器(Parameter Server)理念开发的高性能分布式机器学习平台,它基于腾讯内部的海量数据进行了反复的调优,并具有广泛的适用性和稳定性,模型维度越高,优势越明显。 Angel 由腾讯和北京大学联合开发,兼顾了工业界的高可用性和学术界的创新性。

Angel基于Java和Scala开发,能在社区的Yarn上直接调度运行,并基于PS Service,支持Spark on Angel,未来将会支持图计算和深度学习框架集成。(详情:https://github.com/Tencent/angel)

8、自动内存泄漏检测工具 MLeaksFinder

MLeaksFinder 是腾讯开源的 iOS 平台的自动内存泄漏检测工具,引进 MLeaksFinder 后,就可以在日常的开发,调试业务逻辑的过程中自动地发现并警告内存泄漏。具有如下特性:

  • 自动检测内存泄漏和释放不及时的场景
  • 构建泄漏对象相对于 ViewContrller 的引用链以帮助开发者定位问题
  • 不侵入业务逻辑,引入即生效,无需修改任何代码或引入头文件(详情:https://github.com/Tencent/MLeaksFinder)

9、UI 库 WeUI

WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库。WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、toast、article、icon等各式元素。(详情:https://github.com/weixin/WeUI)

10、分布式后台服务引擎 MSEC

图4:腾讯关于微信和移动开发的10大开源项目

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

  • 模块间访问采用RPC的方式,开发者不用关注网络与报文格式,像写单机程序一样开发分布式服务。
  • 负载自动均衡与容错,对于单机故障、局部网络波动等状况自动应对,服务高可用性。
  • 支持 C/C++/java/PHP 语言,如果选择 C/C++ 语言,支持协程,兼具开发和运行效率。
  • Web 化的管理界面
  • 简易部署,需要复杂部署的服务器都采用docker镜像的方式安装
  • 相比使用其他开源组件拼凑起来的解决方案,毫秒服务引擎更加的体系化,对团队的规范更加到位

【编辑推荐】

  1. 滴滴开源Web移动端组件库cube-ui 独特技术大幅优化性能
  2. Facebook为Android程序员增加开源新特性,大幅度修改Buck!
  3. 可加快应用开发进度的十大GitHub开源iOS库
  4. 脸书开源自家AR核心技术,能快速识别影片中的物体
  5. 2018年在Java、Web和移动开发方面最值得关注的12大开源框架
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

循序渐进Oracle——数据库管理、优化与备份恢复

本书从基础知识入手,详细讨论了Oracle数据库的创建、OEM及iSQL*Plus等工具的使用、Oracle的字符集知识、用户的创建与管理、表空间和数据文...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊