程序员节致敬国内大厂github上那些优秀的开源项目,附整理与精选~

Posted Sumslack团队

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员节致敬国内大厂github上那些优秀的开源项目,附整理与精选~相关的知识,希望对你有一定的参考价值。


今天是程序员节,让我们通过这一篇文章致敬那些提供优秀开源解决方案的背后那些牛逼程序员们~

概述

厂商 开源数 典型项目
阿里巴巴 208 weex / 17.2k star
腾讯 59 weui / 20.4k star
百度 58 san / 3.3k star
美团 34 EasyReact / 1.2k star

从表中可看到,阿里的开源项目要远远大于其他几个厂商,主要涉及到算法类(如被广泛用于json解析的fastjson),数据库管理(如druid等),跨端应用,前端,各类中间件,打包,部署工具等,涉猎比较广泛,腾讯的开源项目出名的主要是小程序类相关的开源库,如weui,wepy,也涉及到一些移动端的开发框架和c/c++算法类(如rapidjson库),腾讯为c/c++爱好者共享了很多开源库,目前全球开源贡献排名第十(数据来自腾讯技术广泛公众号),百度的开源项目本人了解不多,用过他的disConf分布式配置管理平台,美团也有好几个出色的开源项目,如mpvue,基于Vue.js的小程序开发框架,美团点评的开源项目主要以前端和中间件贡献为主;

开源项目精选

跨端开发

  • alibaba优秀的跨端框架weex,通过weex(基于Vue)编写的UI,可被无缝的发布在包括web,iosandroid平台上,性能远高于web页,我们的sumslack云办公平台中的业务页面就使用它来编写,不妨你也可以试试;

  • tencent提供了VasSonic一款轻量级高性能的混合开发框架,基于H5,专注于提升H5首屏加载速度;

中间件

  • alibaba提供的tengine优秀的基于nginx二次开发的web服务器,针对大访问量网站提供了很多高级特性,如模块的动态加载,如果加模块再也不需要重新编译nginx源码了,更强大和灵活的负载均衡能力,输入过滤器机制支持,动态脚本语言lua支持,自动去除空白字符和注释减少页面体积,更强大的防御机制等,并全兼容nginx,目前star数超过7500,如果你使用nginx代理web或sock服务,可优先考虑使用它;

  • alibaba的RocketMQ优秀的消息总线中间件,是apache的顶级项目,低延迟,面向金融(具有跟踪和审计功能),万亿级消息容量保证,支持多种消息分发模式,支持消息按顺序消费,从4.1版本开始支持开放的数据标准,对大数据友好等诸多特性,除了市面上ActiveMQ和商用消息中间件,RocketMQ也是一个不错的选择,在我们的日志中心服务端,用它提供一对多的消息消费。

  • alibaba的canal是一个基于Netty的binlog增量订阅消费组件,可将mysql的数据同步到异地机房,是一个非常有用的中间件,无需硬编码,可直接毫秒级监控数据库变化,并将变化通知到类,推送给终端;

  • alibaba的AnyProxy是一个基于NodeJS的,可供插件配置的HTTP/HTTPS代理服务器;

  • baidu提供了开源的分布式配置管理平台Disconf,协助你解决各种环境配置问题,统一管理;

  • tencent的微信团队贡献的基于Paxos协议的分布式队列PhxQueue,日均入队达千亿,分钟入队达一亿,高可用性和高吞吐,支持同步刷盘,入队数据绝对不丢,多订阅,出对限速重放,所有模块支持平行扩展等;

微服务

  • alibaba的大名鼎鼎的Dubbo,无人不知,提供了微服务的管理中心,方便的对微服务降级限流,负载均衡等;

  • ServiceComb华为出品的开源项目,与2017年6月加入apache孵化;

  • tencent的Tars基于名字服务使用 Tars 协议的高性能 RPC 开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用;

  • baidu的BRPC是一个RPC框架,和Thrift,gRPC类似;

数据库连接

如果你使用Java,可以考虑alibaba的druid库,相比dbcpdruid提供了数据库连接监控,慢查询统计,SQL注入攻击防范,连接泄露检测等诸多特性;

移动开发

alibaba的ARouter是一个用于帮助android app进行组件化改造的框架,支持模块间的路由,通信和解耦;
alibaba的Atlas是伴随着手机淘宝的不断发展而衍生出来的一个运行于Android系统上的一个容器化框架,我们也叫动态组件化(Dynamic Bundle)框架。它主要提供了解耦化、组件化、动态性的支持。覆盖了工程师的工程编码期、Apk运行期以及后续运维期的各种问题。
alibaba的AndFix是一个针对安卓的在线紧急修复Bug(热修复)的解决方案,与之对应的还有tencent的tinker提供了类似方法;
tencent的MLeaksFinder是一个针对iOS的内存泄露检查工具;

技术框架

  • tencent的Mars是一个跨平台的网络通信框架,为微信的跨终端网络通信提供技术解决方案;

  • alibaba的dfs是一个分布式小文件存储框架,对应的baidu有bfs

  • json解析库:如果你使用Java,可以考虑alibaba的fastjson库,如果你使用c/c++,可以使用tencentrapidjson库;

  • baidu的LAC提供了中文分词算法,将连续的自然语言切分出具有语义合理性和完整性的词汇序列;

  • baidu的UidGenerator是一个分布式ID生成器,基于snowflake算法生成唯一ID;

前端开发

  • baidu提供的eCharts提供了各类web图表组件;

  • baiduWebUI库ESUI

  • baidu前端MVVM组件框架San

  • tencentWebUI库QMUI WEB

辅助工具

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

  • tencent的MMKV是一个基于 mmap 的高性能通用 key-value 组件,用于安卓和iOS;

微信小程序开发

小程序现在太火了,以至于简化小程序开发的开发框架也随之而火;

  • tencent提供的weui一个组件库,如果使用小程序,可以使用weui-wxss,包括了一些小程序组件库和样式库,简化您微信小程序的开发;

  • 美团提供的mpvue是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验;

  • tencent提供的wepy是一款使用python开发微信小程序的框架;

人工智能

baidu提供的ApolloAuto是一个开放的,完整的,安全的平台,协助厂商接入无人驾驶系统;
baidu提供的VisualDL是一个面向深度学习任务设计的可视化工具,面向初学者;

这里只是列举了一部分优秀的开源作品,同时希望大厂们共享更多更好的优秀开源作品,再次向优秀的背后程序员们致敬!


感谢阅读!


你可以继续阅读:

| |  |  |  |  |  |  | 




以上是关于程序员节致敬国内大厂github上那些优秀的开源项目,附整理与精选~的主要内容,如果未能解决你的问题,请参考以下文章

2020年GitHub 上那些优秀Android开源库,这里是Top10!建议收藏!

国内互联网大厂开源贡献排名和他们的github开源主页

国内互联网大厂开源贡献排名和他们的github开源主页

盘点阿里巴巴 34 个牛逼 GitHub 项目

资源 | 快速发现优秀开源项目,三板斧拿好

强力推荐!那些你不能错过的 GitHub 插件和工具