回看 2018 年,无论是国内外,科技公司对「开源」投入的巨大资本不仅令人咋舌,更重要的是,伴随着资本的强势注入,有理由相信「开源」将会有更光明且清晰可见的未来。而开源软件作为其中最重要的一环,除了充分展示「开源」的生态丰富之外,还在某种程度上代表了未来的趋势。
开源中国社区在 2018 年新收录了近 2000 款开源软件,种类林林总总。根据开源软件的关注度和活跃度,以及它们在功能上的独特构思,最终产生了这份 2018 年度国产开源软件新秀榜。现在,让我们一同从这些开源软件中,回顾去年的国产开源软件新秀 TOP 30。
区别于之前的常规年度榜单,「国产新秀榜」是新设立的一个年度排行榜,旨在让更多优秀但知名度稍低的开源软件能被广大开发者熟知。而所谓新秀,不仅要新,还要够秀,并需要在所属领域具有一定的影响力或代表性。
此外,榜单中的软件已经过筛选,均符合国际 OSI 认可的开源协议。
2018 国产开源软件新秀榜 TOP 30
排名 | 软件名 | 排名 | 软件名 |
1 | Arthas | 16 | cocker |
2 | OSRoom | 17 | DocHub |
3 | mpvue | 18 | WeiXinMPSDK |
4 | gopub | 19 | TeaWeb |
5 | Yearning | 20 | LTUI |
6 | tcplstat | 21 | SpriteJS |
7 | Layx | 22 | Gio.js |
8 | KooTeam | 23 | RedisPlus |
9 | GGEditor | 24 | Go Chassis |
10 | MM-Wiki | 25 | abu |
11 | VNote | 26 | Pandora.js |
12 | Taro | 27 | Mark Text |
13 | TeamCat | 28 | FISCO BCOS |
14 | iView Weapp | 29 | FlutterOSC |
15 | SOFARPC | 30 | PicGo |
不难发现,TOP 10 里面有四个软件与前端领域强相关(mpvue、Layx、KooTeam 和 GGEditor),但细分下来,其中不仅包括了去年大热的小程序、还有企业级的前端组件、框架和实用工具。排行榜中的其他项目也囊括了实用的开发工具、美观优雅的编辑器或组件,以及企业级的开发框架等。
1. Arthas:开源 Java 诊断工具
Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具。
Arthas 支持 JDK 6+,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
项目主页:https://alibaba.github.io/arthas/
开源协议:GPLv3
开发语言:Java
2. OSROOM:Python 的开源 Web 系统
OSROOM 是使用 Python 3(>=3.4) 语言,基于 Flask 微型框架 + MongoDB(>=3.4) + Redis 开发的一个 Web 系统(CMF, Rest Api)。通过 OSROOM,除了可以搭建常见的普通网站外,还可以作为小程序服务端,小程序客户端可直接调用 API 请求数据。
项目主页:https://gitee.com/osroom/osroom
开源协议:BSD
开发语言:Python
3. mpvue:基于 Vue.js 的小程序开发框架
mpvue 是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验,并从底层支持 Vue.js 语法和构建工具体系。
项目主页:http://mpvue.com/
开源协议:MIT
开发语言:JavaScript
4. gopub:企业级运维发布系统
gopub(基于 Element + Beego 框架)是一个基于运维场景设计的企业级运维发布系统。配置简单、功能完善、界面流畅、开箱即用!支持 Git、Jenkins 版本管理、支持选择 go SSH, BT 文件传输方式、支持部署前准备任务和部署后任务钩子函数、支持各种 Web 代码发布。一键完成 Go、Node.js、PHP、Python 和 Java 等代码的发布、回滚操作。
项目主页:https://gitee.com/dev-ops/gopub
开源协议:Apache-2.0
开发语言:Go
5. Yearning:整套 SQL 审核平台解决方案
Yearning SQL 审计平台,基于 Vue.js 与 Django 的整套 SQL 审核平台解决方案,提供基于 Inception 的 SQL 检测及执行。
项目主页:http://yearning.io/
开源协议:AGPL v3
开发语言:Python
6. tcplstat:TCP 网络监控工具
tcplstat 是基于 libpcap 网络嗅探程序包的网络监控工具,它能旁路捕获所有经过网络设备过滤规则的 TCP 数据,跟踪当前所有 TCP 连接会话,记录所有经过的 TCP 分组,当连接断开或到达最大记录数时倒出统计信息,包含但不限于连接两端网络地址、建立时间戳、三步握手各分组延迟、四步分手各分组延迟,数据分组明细、往来分组间延迟和相反方向分组延迟的最小、平均、最大统计值。
tcplstat 除了引用了 Linux 内核的红黑树和链表源码外,自身源码只有 1500 行左右,源码结构简单易读。tcplstat 支持跨主流平台 Linux、Windows、AIX。
项目主页:https://gitee.com/calvinwilliams/tcplstat
开源协议:LGPL-2.1
开发语言:C/C++
7. Layx:仿真 Windows 界面的 Web 弹窗组件
Layx 是一款仿 Windows 系统窗口的 Web 弹窗插件,纯原生 Javascript 实现,不依赖任何第三方框架,支持 IE10+(含 IE10)、Chrome、Firefox、Opera、Edge、Safari 等主流浏览器。gzip 压缩版仅 13.5kb,非常小巧。
项目主页:https://gitee.com/monksoul/LayX
开源协议:MIT
开发语言:JavaScript
8. KooTeam:在线协作与文档管理系统
KooTeam是一款轻量级的在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发,知识库管理等工具。
项目主页:https://www.kooteam.com/
开源协议:Apache-2.0
开发语言:Java
9. GGEditor:基于 G6 和 React 的可视化图编辑器
GGEditor 是一款基于 G6 和 React 的可视化图编辑器。可用于绘制流程图和思维导图等。
项目主页:http://ggeditor.com/
开源协议:MIT
开发语言:JavaScript
10. MM-Wiki:轻量级的企业知识分享与团队协同软件
MM-Wiki 是一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业 Wiki 和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境。
项目主页:https://gitee.com/phachon/mm-wiki
开源协议:MIT
开发语言:Go
11. VNote:基于 Qt 框架的开源笔记软件
VNote 基于 Qt 框架,是一个受 Vim 启发开发的专门为 Markdown 而优化、设计的开源免费笔记软件,VNote 更是一个更了解程序员和 Markdown 的笔记软件,它专注于 Markdown 的编辑与阅读,以提供舒适的编辑体验为设计目标。
项目主页:https://tamlok.github.io/vnote/zh_cn/
开源协议:MIT
开发语言:C/C++
12. Taro:遵循 React 语法规范的多端统一开发框架
Taro 是由京东 - 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架,实现用 React 写小程序,生成 H5、React Native 等多端应用。
项目主页:https://taro.aotu.io/
开源协议:MIT
开发语言:JavaScript
13. TeamCat:高效的软件项目管理和协作工具
TeamCat 的项目管理包含了任务、提测、Bug 管理,统计分析等功能。支持多成员协作,并且深度集成了持续集成(CI)。Teamcat 支持每日构建、自动化测试和一键部署等功能。TeamCat 通过任务流功能支持流水线构建发布,正真做到高效的软件过程管理与监控。
项目主页:http://www.teamcat.cn/
开源协议:GPLv2
开发语言:Java,C/C++,Python
14. iView Weapp:高质量的微信小程序 UI 组件库
iView Weapp 是一套高质量的微信小程序 UI 组件库。1.0 提供了 30 个组件,并会不断丰富。
项目主页:https://weapp.iviewui.com/
开源协议:MIT
开发语言:JavaScript
15. SOFARPC:高性能 Java RPC 框架
SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展,SOFARPC 提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡、流量转发、链路追踪、链路数据透传和故障剔除等等。同时围绕 SOFARPC 框架及其周边组件提供丰富的微服务治理方案。
项目主页:https://www.sofastack.tech/
开源协议:Apache-2.0
开发语言:Java
16. cocker:C 语言实现的容器引擎
cocker 是个人用 C 语言完全自研的容器引擎(对标 Docker),使用到了以下 Linux 底层技术:LXC、cgroup、overlayfs、iptables、ptms 等。系统架构如下:
项目主页:https://gitee.com/calvinwilliams/cocker
开源协议:LGPL-2.1
开发语言:C
17. DocHub:Beego 开发的类百度文库
DocHub 文库系统,使用 Go 语言的 Beego 框架开发的类百度文库系统,实现 Office、PDF 等文档在线浏览。
项目主页:https://gitee.com/truthhun/DocHub
开源协议:Apache-2.0
开发语言:Go
18. WeiXinMPSDK:微信公众平台 .NET SDK
微信公众平台 SDK Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core。已支持微信公众号、小程序、小游戏、企业号、企业微信、开放平台、微信支付、JSSDK、微信周边等全平台。Senparc.Weixin SDK 是目前使用率最高的微信 .NET SDK,也是国内最受欢迎的 .NET 开源项目之一。
项目主页:https://gitee.com/JeffreySu/WeiXinMPSDK
开源协议:Apache-2.0
开发语言:C#
19. TeaWeb:可视化智能 Web 服务
TeaWeb 是一款集静态资源、缓存、代理、统计、监控于一体的可视化智能 WebServer。TeaWeb 使用 Go 语言实现,在高可定制化前提下,保证高性能、高并发。
项目主页:https://gitee.com/liuxiangchao/build
开源协议:MIT
开发语言:Perl,Go
20. LTUI:基于 Lua 的跨平台字符终端 UI 界面库
此框架源于 xmake 中图形化菜单配置的需求,类似 Linux Kernel 的 menuconf 去配置编译参数,因此基于 curses 和 lua 实现了一整套跨平台的字符终端 UI 库。而样式风格基本上完全参照的 kconfig-frontends,当然用户也可以自己定制不同的 UI 风格。
项目主页:https://gitee.com/tboox/ltui
开源协议:Apache-2.0
开发语言:Lua
21. SpriteJS:跨终端 Canvas 绘图库
SpriteJS 是一款由 360 奇舞团开源的跨终端 Canvas 绘图库,可以基于 Canvas 快速绘制结构化 UI 、动画和交互效果,并发布到任何拥有 Canvas 环境的平台上(比如浏览器、小程序和 node )。
项目主页:http://spritejs.org
开源协议:MIT
开发语言:JavaScript
22. Gio.js:基于 Three.js 的 Web3D 地球数据可视化库
Gio.js 是一个基于 Three.js 的 Web 3D 地球数据可视化的开源组件库。使用 Gio.js 的网页应用开发者,可以快速地以申明的方式创建自定义的 Web3D 数据可视化模型,添加数据,并且将其作为一个组件整合到自己的应用中。
项目主页:https://giojs.org/index_zh.html
开源协议:Apache-2.0
开发语言:JavaScript
23. RedisPlus:Redis 的桌面客户端软件
RedisPlus 是为 Redis 可视化管理开发的一款开源免费的桌面客户端软件,支持 Windows 、Linux 、Mac 三大系统平台,RedisPlus 提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。
项目主页:https://gitee.com/MaxBill/RedisPlus
开源协议:GPLv3
开发语言:Java
24. Go Chassis:产品级 Go 语言微服务框架
Go Chassis 是华为云 CSE 开源的一个用 Go 语言编写的微服务快速开发框架。借助 CSE Go Chassis 进行微服务开发可最大化地降低开发门槛,提升产品上线速度,同时可以获得微服务运行时高可靠性保证、运行时动态治理等一系列开箱即用的能力。
项目主页:https://github.com/go-chassis/go-chassis
开源协议:Apache-2.0
开发语言:Go
25. abu:基于 Python 的开源量化交易系统
阿布量化交易系统(股票,期权,期货,比特币,机器学习),基于 Python 的开源量化交易,量化投资架构。abu 能够帮助用户自动完善策略,主动分析策略产生的交易行为,智能拦截策略生成的容易失败的交易单。
abupy 的设计目标是:用户只需要提供一些简单的种子策略,计算机在这些种子基础上不断自我学习、自我成长,创造出新的策略,并且随着时间序列数据不断智能调整策略的参数。
项目主页:https://github.com/bbfamily/abu
开源协议:GPLv3
开发语言:Python
26. Pandora.js:Node.js 应用监控管理器
Pandora.js 阿里巴巴开源的一个 Node.js 应用监控管理器,可以让您对自己的 Node.js 应用了若指掌,目标是让应用可管理、可度量、可追踪。同时,这也是阿里巴巴开源的第一个使用了类型系统的 Node.js 软件。它使用的是 TypeScript,为 Pandora.js 带来了前所未有的逻辑健壮性。
项目主页:https://midwayjs.org/pandora/
开源协议:MIT
开发语言:JavaScript,TypeScript
27. Mark Text:高性能的 Markdown 编辑器
Mark Text 是一款高性能的 Markdown 编辑器,基于 Electron 构建,运行于 Mac、Windows 和 Linux 平台。具有简洁的外观和流畅的运行。此外,这款编辑器还内置斗图功能,通过快捷键 Cmd+/ 直接打开斗图搜索面板,你需要的有趣图片就在里面。
项目主页:https://marktext.github.io/website/
开源协议:MIT
开发语言:JavaScript
28. FISCO BCOS:金链盟区块链底层平台
FISCO BCOS 平台基于现有的 BCOS 开源项目进行开发,聚焦于金融行业的分布式商业需求,从业务适当性、性能、安全、正常、技术可行性、运维与治理、成本等多个维度进行综合考虑,打造金融版本的区块链解决方案。
项目主页:https://github.com/FISCO-BCOS/FISCO-BCOS
开源协议:GPLv3
开发语言:C/C++
29. FlutterOSC:基于 Flutter 的开源中国客户端
基于 Google Flutter 的开源中国客户端,支持 Android 与 iOS。独创的动弹小黑屋功能,可屏蔽你不想看的人发的动弹。
运行截图
项目主页:https://gitee.com/yubo725/FlutterOSC
开源协议:MIT
开发语言:Dart
30. PicGo:基于 electron-vue 开发的图床工具
PicGo 是一款基于 electron-vue 开发的图床工具。PicGo 目前支持了微博图床,七牛图床,腾讯云COS v4\v5版本,又拍云,GitHub,SM.MS。未来将支持更多图床。目前支持 macOS、Windows 64位(v1.3.0以上)系统,未来将支持 Linux。
项目主页:https://molunerfinn.com/PicGo/
开源协议:MIT
开发语言:JavaScript
最后
每年这个时候,开源中国社区都会发布年度榜单。通过这些榜单,相信大家能发掘出更多新的开源项目,以及从中窥探某些趋势。本次发布的「国产新秀榜」可能未能上榜一些你喜爱且使用频繁的开源软件,但这并不说明这些开源软件不够好或者关注度低,只是任何事都需要有所取舍。
另外,本周会陆续推出另外两个年度榜单 —— 分别是 2018 年度新增开源软件排行榜之国产 TOP 50 和 2018 年度新增开源软件排行榜之非国产 TOP 50,敬请期待。