> Linux新闻 >

2018 年度新增开源软件排行榜之国产 TOP 50

2018 年开源中国社区「新增」开源软件排行榜之国产 TOP 50 终于发布了!

榜单根据 2018 年开源中国社区新收录的开源项目的关注度、活跃度,以及所属分类整理而来,相信在一定程度上反映了国内大部分开发者在 2018 年所使用的技术栈和希望学习的技术。

可以看到,Java 相关框架一如既往地占据了榜单的很大一部分,而随着 AI 技术在近两年的兴起,也诞生了更多的人工智能开源项目。无论是公司或者个人,都在该领域下产出了不少优秀的开源项目,这些开源项目也逐渐被更多开发者所关注并使用。

而小程序,最初面世时毁誉参半,但目前看来,围绕小程序而诞生越来越多的开源项目,不但证明了自己的价值,也让唱衰的声音逐渐冷却了下去。

需要说明的是,榜单中的软件已经过筛选,均符合国际 OSI 认可的开源协议。

2018 国产开源软件新增榜 TOP 50

前 20 预览

排名 软件名 排名 软件名
1 SpringBoot-Plus 11 SOFABoot
2 Arthas 12 飞冰 ICE
3 RuoYi 13 iView Weapp
4 J-IM 14 mpvue
5 WeavingDB 15 Taro
6 dingdang-robot 16 pig-cloud
7 DBCHM 17 SOAR
8 XXL-SSO 18 JavaMonitor
9 VNote 19 Roses
10 Layx 20 PDMan
……

1. SpringBoot-Plus:基于 Spring Boot 2 的后台管理系统

SpringBoot-Plus 是一个基于 Spring Boot 2 的后台管理系统,包含了用户管理、组织机构管理、角色管理、功能点管理、菜单管理、权限分配、数据权限分配、代码生成、子系统生成、文档管理和预览等功能。同于其他简单的开源后台管理系统,SpringBoot-Plus 具备适当的企业应用深度

系统基于 Spring Boot 2 技术,前端采用了 Layui 2。数据库以 MySQL/Oracle/PostgresSQL 为实例,理论上是跨数据库平台。

项目主页:https://gitee.com/xiandafu/springboot-plus
开源协议:BSD
开发语言:Java
项目作者:@闲大赋

2. Arthas:开源 Java 诊断工具

Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具。

Arthas 支持 JDK 6+,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

项目主页:https://alibaba.github.io/arthas/
开源协议:GPLv3
开发语言:Java
项目作者:@横云断岭
所属公司:阿里巴巴

3. RuoYi:基于 Spring Boot 2.0 的后台管理系统

基于 Spring Boot2.0 的权限管理系统,易读易懂、界面简洁美观。核心技术采用 Spring、MyBatis、Shiro,没有任何其它重度依赖,直接运行即可用。

若依基于 hplus 和 inspinia 两套后台系统模板开发,可以用于所有的 Web 应用程序,如 CMS、CRM、OA、网站管理后台和网站会员中心。所有前端后台代码封装过后十分精简易上手,出错概率低,同时支持移动客户端访问。

项目主页:https://gitee.com/y_project/RuoYi
开源协议:MIT
开发语言:Java
项目作者:@若依管理系统 

4. J-IM:Java 实现的轻量级高性能 IM 框架

J-IM 是使用 Java 语言,基于 t-io 开发的轻量、高性能、单机支持几十万至百万的在线用户 IM,主要目标是降低即时通讯门槛,快速打造低成本接入在线 IM 系统,通过极简洁的消息格式就可以实现多端不同协议间的消息发送,如内置(Http、Websocket、TCP 自定义 IM 协议)等,并提供通过 HTTP 协议的 API 接口进行消息发送,无需关心接收端属于什么协议,一个消息格式搞定一切!

项目主页:https://gitee.com/xchao/j-im
开源协议:Apache-2.0
开发语言:Java
项目作者:@轨迹_

5. WeavingDB:C# 实现的缓存库

为满足 C# 项目的特殊使用与简单部署,故而开发此 WeavingDB,希望给做 .NET 开发者带来帮助。WeavingDB 使用 C# 实现,支持 K-V 方式,也是一个支持 JSON 数据的条件查询的内存缓存库。

项目主页:https://gitee.com/UDCS/WeavingDB
开源协议:Apache-2.0
开发语言:C#
项目作者:@dreamsfly

6. dingdang-robot:中文语音对话机器人项目

叮当是一款可以工作在 Raspberry Pi 上的中文语音对话机器人/智能音箱项目。 

叮当被唤醒后,用户的语音指令先经过在线 STT 引擎进行 ASR 识别成文本,然后对识别到的文本进行技能匹配,交给适合处理该指令的技能插件去处理。插件处理完成后,得到的结果再交给 TTS 引擎合成成语音,播放给用户。虽然一次交互可能包含多次网络请求,不过带来的好处是:每一个环节都可以被修改和定制。

项目主页:https://dingdang.hahack.com/
开源协议:MIT
开发语言:Python
项目作者:@wzpan

7. DBCHM:数据库 CHM 文档生成工具

DBCHM 号称是最简单、最实用的数据库表列批注维护工具,主要功能:

  • 表,列的批注可以编辑保存到数据库。

  • 表,列的批注支持通过 pdm 文件导入的方式进行更新到数据库。

  • 基于数据库中的表列结构(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述),导出数据库 CHM 文档。

支持 SQLServer/MySQL/Oracle/PostgreSQL 等数据库的表列批注维护管理。

项目主页:https://gitee.com/lztkdr/DBCHM
开源协议:MIT
开发语言:C#
项目作者:@lzktdr

8. XXL-SSO:分布式单点登录框架

XXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、Cookie+Token 均支持、Web+APP 均支持"等特性,开箱即用。

项目主页:http://www.xuxueli.com/xxl-sso/#/
开源协议:GPLv3
开发语言:Java
项目作者:@许雪里

9. VNote:基于 Qt 框架的开源笔记软件

VNote 基于 Qt 框架,是一个受 Vim 启发开发的专门为 Markdown 而优化、设计的开源免费笔记软件,VNote 更是一个更了解程序员和 Markdown 的笔记软件,它专注于 Markdown 的编辑与阅读,以提供舒适的编辑体验为设计目标。

项目主页:https://tamlok.github.io/vnote/zh_cn/
开源协议:MIT
开发语言:C/C++
项目作者:@tamlok

10. Layx:仿真 Windows 界面的 Web 弹窗组件

Layx 是一款仿 Windows 系统窗口的 Web 弹窗插件,纯原生 Javascript 实现,不依赖任何第三方框架,支持 IE10+(含 IE10)、Chrome、Firefox、Opera、Edge、Safari 等主流浏览器。gzip 压缩版仅 13.5kb,非常小巧。

111020_A8al_2720166.png

项目主页:https://gitee.com/monksoul/LayX
开源协议:MIT
开发语言:JavaScript
项目作者:@百小僧

11. SOFABoot:基于 Spring Boot 的研发框架

SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFAStack 相关中间件的能力。

项目主页:https://gitee.com/alipay/sofa-boot
开源协议:Apache-2.0
开发语言:Java
所属公司:阿里巴巴

12. 飞冰 ICE:基于 React 的中后台应用解决方案

飞冰(ICE) 是一套基于 React 的中后台应用解决方案,ICE 包含了一条从设计端到开发端的完整链路,帮助用户快速搭建属于自己的中后台应用。

面向设计者端,ICE 提供了 ICE Design 设计语言,来给 UI 界面提供专业的视觉指导。面向开发者端,ICE 提供了 Iceworks 工具,这是一个图形化界面的开发平台,它承载了 ICE 的物料体系和开发体验。

项目主页:https://alibaba.github.io/ice/
开源协议:MIT
开发语言:JavaScript、TypeScript
项目作者:@chenbin93
所属公司:阿里巴巴

13. iView Weapp:高质量的微信小程序 UI 组件库

iView Weapp 是一套高质量的微信小程序 UI 组件库。1.0 提供了 30 个组件,并会不断丰富。

项目主页:https://weapp.iviewui.com/
开源协议:MIT
开发语言:JavaScript
项目作者:@aresn

14. mpvue:基于 Vue.js 的小程序开发框架

mpvue 是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验,并从底层支持 Vue.js 语法和构建工具体系。

项目主页:http://mpvue.com/
开源协议:MIT
开发语言:JavaScript
项目作者:@胡成全
所属公司:美团点评

15. Taro:遵循 React 语法规范的多端统一开发框架

Taro 是由京东 - 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架,实现用 React 写小程序,生成 H5、React Native 等多端应用。

项目主页:https://taro.aotu.io/
开源协议:MIT
开发语言:JavaScript
项目作者:@yuche
所属公司:京东

16. pig-cloud:基于 Spring Cloud 的企业级认证与授权

基于 Spring Cloud、Spring Security Oauth2.0 开发企业级认证与授权,提供常见服务监控、链路追踪、日志分析、缓存管理、任务调度等实现。

项目主页:https://gitee.com/log4j/pig
开源协议:MIT
开发语言:Java
项目作者:@冷冷gg

17. SOAR:SQL 智能优化与改写工具

SOAR(SQL Optimizer And Rewriter)是一个对 SQL 进行优化和改写的自动化工具,由小米人工智能与云平台的数据库团队开发与维护。

业内其他优秀产品对比

项目主页:https://github.com/XiaoMi/soar
开源协议:Apache-2.0
开发语言:Go
所属公司:小米

18. JavaMonitor:Java 应用性能监控系统

Java 应用性能远程监控系统(分布式监控),适用于监控所有 Java 应用,具有堆内存监控、方法区监控、GC 监控、类加载监控、类编译监控与线程监控等功能,提供堆快照下载和线程快照下载。

项目主页:https://gitee.com/zyzpp/JavaMonitor
开源协议:GPLv3
开发语言:Java
项目作者:@像风一样i

19. Roses:基于 Spring Boot 的分布式和服务化解决方案

Roses 基于 Spring Boot 2 和 Spring Cloud Finchley.SR2,更符合企业级的分布式和服务化解决方案。Roses 提供可靠消息最终一致性分布式事务解决方案,提供基于调用链的服务治理,提供可靠的服务异常定位方案(Log + Trace)等等,一个分布式框架不仅需要构建高效稳定的底层开发框架,更需要解决分布式带来的种种挑战!

项目主页:https://gitee.com/stylefeng/roses
开源协议:Apache-2.0
开发语言:Java
项目作者:@stylefeng

20. PDMan:数据库模型建模工具

PDMan 是一个数据库模型建模,以及数据库版本管理工具,主要功能如下:

  • 数据库建模

  • 代码自动生成

  • 文档自动生成[这个小功能涉及商业插件,未开源](HTML,WORD,PDF 生成)

  • 数据库版本管理

支持 Windows, Mac, Linux 等操作系统,支持常见数据库 MySQL, Oracle, SQLServer, DB2 等。是 PowerDesigner 之外,另一个更好的免费替代方案。

项目主页:https://gitee.com/robergroup/pdman
开源协议:Apache
开发语言:JavaScript
项目作者:@O龙猫O

21. VuePress:基于 Vue 的静态网站生成器

VuePress 是一个基于 Vue 的轻量级静态网站生成器,以及为编写技术文档而优化的默认主题。它是为了满足 Vue 自己的子项目文档的需求而创建的。

VuePress 享用 Vue + webpack 开发环境,在 markdown 中使用 Vue 组件,并通过 Vue 开发自定义主题。VuePress 为每一个由它生成的页面提供预加载的 html,不仅加载速度极佳,同时对 seo 非常友好。一旦页面被加载之后,Vue 就全面接管所有的静态内容,使其变成一个完全的 SPA 应用,其他的页面也会在用户使用导航进入的时候来按需加载。

项目主页:https://github.com/vuejs/vuepress
开源协议:MIT
开发语言:JavaScript、TypeScript
项目作者:@EvanYou

22. Zeu.js:实时监控可视化组件库

Zeu.js 是一个 JavaScript 库,其中包含一系列预构建的可视化组件,用于构建实时 TV 仪表板,监控 UI 和物联网 Web 界面。

项目主页:https://github.com/shzlw/zeu
开源协议:MIT
开发语言:JavaScript
项目作者:@Zhonglu

23. 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
项目作者:@Allen-Woo

24. cocker:C 语言实现的容器引擎

cocker 是个人用 C 语言完全自研的容器引擎(对标 Docker),使用到了以下 Linux 底层技术:LXC、cgroup、overlayfs、iptables、ptms 等。系统架构如下:

images/cocker_architecture.png

项目主页:https://gitee.com/calvinwilliams/cocker
开源协议:LGPL-2.1
开发语言:C
项目作者:@calvinwilliams

25. TeaWeb:可视化智能 Web 服务

TeaWeb 是一款集静态资源、缓存、代理、统计、监控于一体的可视化智能 WebServer。TeaWeb 使用 Go 语言实现,在高可定制化前提下,保证高性能、高并发。

项目主页:https://gitee.com/liuxiangchao/build
开源协议:MIT
开发语言:Perl、Go 
项目作者:@刘祥超

26. MeEdu:基于 Laravel 开发的在线点播系统

MeEdu 是一个基于 Laravel 开发的在线点播系统,寄托了作者对当前知识付费领域的期望。相信未来每位身负技能的人都可以通过 MeEdu 来构建自己的知识付费应用,通过 MeEdu 将自己的知识进行变现。

项目主页:https://gitee.com/myteng/MeEdu
开源协议:MIT
开发语言:PHP
项目作者:@小滕ha

27. JVM-Sandbox:动态非侵入 AOP 解决方案

JVM-Sandbox,JVM 沙箱容器,一种基于 JVM 的非侵入式运行期 AOP 解决方案。

JVM-SANDBOX 的核心功能:实时无侵入 AOP 框架、动态可插拔容器

项目主页:https://github.com/alibaba/jvm-sandbox
开源协议:LGPL-3.0
开发语言:Java
所属公司:阿里巴巴

28. Fusion Design:企业级中后台 UI 解决方案

Fusion Design 是一种旨在提升设计与开发之间 UI 构建效率的工作方式。通过建设基于 DPL 模式的,设计、前端之间的标准协议与工作流,来快速构建符合业务诉求的 DPL,提升 DPL 的构建效率和应用效率,帮助业务快速实现 UI 构建。

Next 是基于 Alibaba Fusion Design 的设计理念实现的一套 DPL 。配合 https://fusion.design 使用可以实现换肤的能力。基于 React 实现,支持所有现代浏览器和 IE9+。 

项目主页:https://fusion.design/
开源协议:MIT
开发语言:JavaScript
项目作者:@布达
所属公司:阿里巴巴

29. Nacos:动态服务发现、配置和服务管理平台

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。

服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的服务的发现、配置和管理,帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。

Nacos 全景图

如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如 Dubbo and Dubbo Mesh TODO、Spring Cloud TODO、Kubernetes and CNCF TODO。

项目主页:https://nacos.io/
开源协议:Apache-2.0
开发语言:Java
所属公司:阿里巴巴

30. Walle(瓦力):Web 上线部署系统工具

Walle 让用户代码发布终于可以不只能选择 Jenkins,支持各种 Web 代码发布,php、java、python、go 等代码的发布、回滚可以通过 Web 来一键完成。

Walle 是一个可自由配置的项目,更人性化、高颜值、支持 git,也是一个多用户、多语言、多项目、多环境同时部署的开源上线部署系统。

项目主页:https://www.walle-web.io/
开源协议:Apache-2.0
开发语言:Python
项目作者:@wushuiyong

31. Wayne:Kubernetes 多集群管理平台

Wayne 是一个通用的、基于 Web 的 Kubernetes 多集群管理平台。

f6b73f64508e1dd5a516dfd26cf1eb57fea.jpg

架构图

通过可视化 Kubernetes 对象模板编辑的方式,降低业务接入成本, 拥有完整的权限管理系统,适应多租户场景,是一款适合企业级集群使用的发布平台。

项目主页:https://github.com/Qihoo360/wayne
开源协议:Apache-2.0
开发语言:TypeScript、Go
项目作者:@WilhelmGuo
所属公司:奇虎360

32. Go Chassis:产品级 Go 语言微服务框架

Go Chassis 是华为云 CSE 开源的一个用 Go 语言编写的微服务快速开发框架。借助 CSE Go Chassis 进行微服务开发可最大化地降低开发门槛,提升产品上线速度,同时可以获得微服务运行时高可靠性保证、运行时动态治理等一系列开箱即用的能力。

项目主页:https://github.com/go-chassis/go-chassis
开源协议:Apache-2.0
开发语言:Go
所属公司:华为

33. tcplstat:TCP 网络监控工具

tcplstat 是基于 libpcap 网络嗅探程序包的网络监控工具,它能旁路捕获所有经过网络设备过滤规则的 TCP 数据,跟踪当前所有 TCP 连接会话,记录所有经过的 TCP 分组,当连接断开或到达最大记录数时倒出统计信息,包含但不限于连接两端网络地址、建立时间戳、三步握手各分组延迟、四步分手各分组延迟,数据分组明细、往来分组间延迟和相反方向分组延迟的最小、平均、最大统计值。

tcplstat 除了引用了 Linux 内核的红黑树和链表源码外,自身源码只有 1500 行左右,源码结构简单易读。tcplstat 支持跨主流平台 Linux、Windows、AIX。

项目主页:https://gitee.com/calvinwilliams/tcplstat
开源协议:LGPL-2.1
开发语言:C/C++
项目作者:@calvinwilliams

34:NovalIDE:多功能跨平台 Python IDE

NovalIDE 是一款开源,跨平台,而且免费的国产 Python IDE ,有出色的语法高亮功能,支持多种语言,Python,C/C++,HTML,JavaScript,xml,CSS 等,解释器运行脚本,支持函数智能提示和代码自动完成,以及新建 NovalIDE 工程和从现有代码创建工程,新建工程类型将包括应用程序,Django,Flask,wxPython,Py2exe,Win32,GTK,控制台程序等。

项目主页:http://www.novalide.com/
开源协议:GPLv3
开发语言:Python
项目作者:@东方玄

35. SpriteJS:跨终端 Canvas 绘图库

SpriteJS 是一款由 360 奇舞团开源的跨终端 Canvas 绘图库,可以基于 Canvas 快速绘制结构化 UI 、动画和交互效果,并发布到任何拥有 Canvas 环境的平台上(比如浏览器、小程序和 node )。

项目主页:http://spritejs.org
开源协议:MIT
开发语言:JavaScript
项目作者:@welefen
所属公司:奇虎360

36. Spring Cloud Alibaba:分布式应用服务开发的一站式解决方案

Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

主要功能

  • 服务限流降级:默认支持为 HTTP 服务的提供限流保护,也支持添加注解实现方法的自定义限流降级,且支持动态修改限流降级规则。

  • 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。

  • 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。

  • 阿里云对象存储:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。

项目主页:https://github.com/spring-cloud-incubator/spring-cloud-alibaba
开源协议:Apache-2.0
开发语言:Java
所属公司:阿里巴巴

37. YoShop:萤火小程序商城

萤火小程序商城,是一款开源的电商系统,为中小企业提供最佳的新零售解决方案。采用稳定的 MVC 框架开发,执行效率、扩展性、稳定性值得信赖。

项目主页:https://gitee.com/xany/bestshop-php
开源协议:Apache-2.0
开发语言:PHP

38. Overwatch:通用 RPC 监控系统

Overwatch 是一个用于分布式系统的通用 RPC 监控系统,它将 D3 force 布局作为主要图表。 

Overwatch 提供了整个系统当前状态的概览,使系统管理员能够轻松了解正在进行的 RPC 事件并找出系统中故障的来源。 与常见监控系统不同,Overwatch 使用设计良好的图形(使用 D3 强制布局)用于可视化数据。

项目主页:https://github.com/imdada/overwatch
开源协议:BSD
开发语言:TypeScript
所属公司:京东

39. JFinal Undertow:JFinal 项目部署环境

jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目。独创 HotSwapClassLoader + HotSwapWatcher 以 319 行代码极简实现热加载开发与部署。

项目主页:https://gitee.com/jfinal/jfinal-undertow
开源协议:Apache-2.0
开发语言:Java
项目作者:@JFinal

40. MACE:神经网络计算框架

Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算平台优化的神经网络计算框架。 主要从以下的角度做了专门的优化:性能、功耗、系统响应、内存占用、模型加密与保护和硬件支持范围。

项目主页:https://github.com/XiaoMi/mace
开源协议:Apache-2.0
开发语言:C/C++、Python
所属公司:小米

41. smart-doc:Java Restful API 文档生成工具

smart-doc 是一个 java restful api 文档生成工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法。

smart-doc 完全基于接口源码分析来生成接口文档,完全做到零注解侵入,你只需要按照 java 标准注释的写就能得到一个标准的 markdown 接口文档。

项目主页:https://gitee.com/sunyurepository/ApplicationPower/tree/master/smart-doc
开源协议:Apache-2.0
开发语言:Java
项目作者:@上官胡闹

42. noForm:基于 React 的表单解决方案

NoForm是阿里巴巴外综服前端团队在外综服(外贸综合服务)场景下,经过长期的思考和打磨产出的一款基于 React 的表单解决方案。可能有人不理解,可能会问:表单嘛,能有多复杂?可能你从没见过一个表单需要填写 150+ 个字段。可能你也没有见过一个表单实际是由 10+ 个子表单组合出来的。可能你也没见过一个表单的字段是后端动态配置的。

NoForm 从解决业务复杂性的角度出发,找到了几个抓手,将表单方案进行了优化和开源。 

项目主页:https://github.com/alibaba/nopage
开源协议:Apache
开发语言:JavaScript
项目作者:@鬼鼠
所属公司:阿里巴巴

43. DataGear:数据齿轮数据库管理系统

数据齿轮是一款数据库管理系统,使用 Java 语言开发,采用浏览器/服务器架构,以数据管理为核心功能,支持多种数据库。

系统主界面如下图所示:

项目主页:http://www.datagear.tech/
开源协议:LGPL-3.0
开发语言:Java
项目作者:@数据齿轮

44. wikift:知识管理系统

wikift 是一套企业级开源的易用的知识管理系统。

项目主页:https://github.com/wikift/wikift
开源协议:Apache-2.0
开发语言:Java、TypeScript、JavaScript
项目作者:@qianmoQ

45.  v-charts:基于 Vue2.0 和 ECharts 封装的图表组件

在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts 的出现正是为了解决这个痛点。基于 Vue2.0 和 echarts 封装的 v-charts 图表组件,只需要统一提供一种对前后端都友好的数据格式,设置简单的配置项,便可轻松生成常见的图表。

项目主页:https://github.com/ElemeFE/v-charts
开源协议:MIT
开发语言:JavaScript
所属公司:饿了么

46. RSUITE:基于 React 的 UI 组件库

React Suite 是一套 React 组件库,为后台产品而生。主要服务于公司大数据产品线。经历了三次大的版本更新后,累积了大量的组件和丰富的功能。

项目主页:https://rsuite.gitee.io/
开源协议:MIT
开发语言:JavaScript
项目作者:@漆工

47. SpringBootBucket:Spring Boot 全家桶

本项目对目前 Web 开发中常用的各个技术,通过和 SpringBoot 的集成,并且对各种技术通过“一篇博客 + 一个可运行项目”的形式来详细说明。

每个子项目都会使用最小依赖,大家拿来即可使用,自己可以根据业务需求自由组合搭配不同的技术构建项目。

项目主页:https://gitee.com/yidao620/springboot-bucket
开源协议:MIT
开发语言:Java
项目作者:@一刀

48. VisualDL:跨框架深度学习可视化框架

VisualDL,即 Visualize the Deep Learning,是一个面向深度学习任务设计的可视化工具,包含了 scalar、参数分布、模型结构、图像可视化等功能,项目正处于高速迭代中,新的组件会不断加入。

除了 Python SDK 之外,VisualDL 底层采用 C++ 编写,其暴露的 C++ SDK 也可以集成到其他平台中,实现原生的性能和定制效果。

项目主页:http://visualdl.paddlepaddle.org/
开源协议:Apache-2.0
开发语言:JavaScript、C++、Python
所属公司:百度

49. libaco:轻量级 C 非对称协程库

libaco - 一个极速的轻量级 C 非对称协程库。简要介绍:

  • 除了一个生产级别的 C 协程库实现,还包含了一个详细的文档描述了如何实现一个 最快且正确 的协程库以及其严格的数学证明

  • 核心实现不超过 700 行代码,包含了一个协程库应该有的全部功能;

  • 在 AWS c5d.large 机器上的性能测试结果指出,一次协程间上下文切换仅耗时 10 ns (独立执行栈);

  • 用户在创建新的协程时,可以选择其拥有一个独占的执行栈,或者是与其它任意数量的协程一起共享一个执行栈;

  • 拥有极致的内存使用效率:一千万个协程并发执行仅消耗 2.8GB 的物理内存( tcmalloc, 每一个协程使用 120B 的复制栈)。

上文中的"最快"指的是在满足 Sys V ABI Intel386 或者 AMD64 约束下最快的上下文切换实现。

项目主页:https://github.com/hnes/libaco
开源协议:Apache-2.0
开发语言:C
项目作者:@hnes

50. OpenAuth.Core:基于 .NET Core 2.1 的快速开发框架

基于 .NET Core 2.1 的快速开发框架。核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。它的架构精良易于扩展,是中小企业的首选。

项目主页:https://gitee.com/yubaolee/OpenAuth.Core
开源协议:LGPL-2.1
开发语言:C#
项目作者:@李玉宝

最后

每年这个时候,开源中国社区都会发布年度榜单。而「国产」相关的榜单往往也是争议最大的,吐槽的点不外乎「这么水(low、垃圾)的项目也能上榜?」、「xx 都能上了,xxx 居然不能上?」、「你们是不是收钱了?xx 这样的项目也放上去」这几个。

首先,榜单的项目都是从 2018 年开源中国社区「新增」的开源项目里面进行挑选(包括在 2018 年托管到码云Gitee平台,或被开源中国社区收录的项目)。其次,根据开源软件的关注度和活跃度,以及它们所属的分类,我们会再筛选一遍,同类的项目自然就不会全部都上榜。

(责任编辑:IT)