衡量一个开源产品好不好,看看产品在 GitHub 的 Star 数量就知道了。由此可见,GitHub 已经沦落为开源产品的“大众点评”了。一个开源产品希望快速的被开发者知道、快速的获取反馈,放到 GitHub 上面就可以了。GitHub上有无数大牌产品:Bootstrap、JQeury、bower、Nginx 等等,可惜都是外国人搞出来的,他们都有一个共同的特点:全英文。
感谢 GitHub,让我们有了一个优秀的共享平台,享受思想碰撞、参与优秀项目的激情。下面我跟广大的程序猿们,分享一下 GitHub 上最热的10款国产开源软件。
1. ECharts
Echarts 是基于 Canvas,纯 JavaScript 图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。
所属公司:百度,Star:5204,提交时间:5/26/2013
优势:Echarts 提供商业产品常用图表库,底层基于 ZRender,创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图(区域 图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、和弦图以及力导向布局图,同时支持任意维度的堆积和多图表混合展现。
劣势:在功能上比 hightchars 还是稍弱,对手机浏览器支持不是十分理想。
2. Cocos2d-x
触控科技旗下产品,国内最火的2D游戏引擎,国内市场超过60%,国外也有非常好的市场占有率。跨平台框架,主业是2D游戏引擎,兼职有互动电子图书、Demo演示以及其他图形化应用。主要开发语言是 C++。
所属公司:触控科技,Star:5050,提交时间:6/4/2010
优势:社区发达,便于初学者上手和解决问题;性能高体积小;后续开发难度曲线比较平滑;spine、TexturePacker、Cocostudio 等工具让引擎方便的处理各种资源和 UI 问题。开发者很方便的研发出适合自己项目的编辑器。
劣势: Cocos2d-x 兼容性会差一些,如果团队更改了引擎代码,则可能导致不同的环境不兼容。上手难度相对较高。
3. pomelo
pomelo 是由网易开发的基于 Node.js开发的高性能、分布式游戏服务器框架,也可作为高实时 Web应用框架。
所属公司:网易,Star:4136,提交时间:11/18/2012
优势:开发高实时 Web 应用也合适, 而且伸缩性比其它框架好。pomelo 拥有完善的独立网站,Mailing List,文档社区一应俱全。提供多个开发案例,而且还有多种客户端代码。
劣势:不适合大型的 MMO rpg 游戏,多人在线,尤其是3D网游。
4. SeaJS
SeaJS 是一个遵循 CommonJS 规范的 JavaScript 模块加载框架,可以实现 JavaScript 的模块化开发及加载机制。
所属公司:阿里巴巴,Star:3503,提交时间:12/26/2010
优势:可以加载 JavaScript,TPL,CSS。采用模块级管理,代码易于维护,管理,复用,以及并行开发。减少代码的锁冲突。
劣势:模块合并麻烦。需要配套使用 SPM 工具,JavaScript 的打包和管理工具。文档较混乱。
5. Tengine
Tengine 是由淘宝网发起的 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。
所属公司:阿里巴巴,Star:2419,提交时间:11/27/2011
优势:Tengine 的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。代理存活检查较好。动态模块加载(DSO)支持。输入 过滤器机制支持。Web 应用防火墙的编写更方便。动态脚本语言 Lua 支持。扩展功能非常高效简单。显示对运维人员更友好的出错信息,便于定位出错机器。
劣势:希望更加稳定吧。
6. Amaze UI
Amaze UI 是基于社区开源项目构建的一个跨屏前端框架,以移动优先(Mobile First)为理念,从小屏到大屏,最终实现所有屏幕适配,适应移动互联潮流。用户可以在 Amaze UI 的基础上进行二次开发。
所属公司:云适配,Star:2125,提交时间:8/10/2014
优势:Amaze UI 以移动优先(Mobile first)为理念,从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流;组件丰富,模块化,Amaze UI 含近 20 个 CSS 组件、10 个 JS 组件,更有 17 款包含近 60 个主题的 Web 组件;Amaze UI 关注中文排版,根据用户代理调整字体,实现更好的中文排版效果,兼顾国内主流浏览器及 App 内置浏览器兼容支持,同时对微信、百度、微博等广义上的 WebView 同样完美兼顾,本地化支持做的很不错;轻量级,高性能,Amaze UI 面向 HTML5 开发,使用 CSS3 来做动画交互,平滑、高效,更适合移动设备,让 Web 应用更快速载入。
劣势:相比国外 Bootstrap 等成熟的开源项目, Amaze UI 的开发者社区还比较小, 著名案例也比较少。
7. Fastjson
Fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器。
所属公司:阿里巴巴,Star:1700,提交时间:7/31/2011
优势:Fastjson 有效提升parse速度,支持 http://json.org 的标准。支持各种 JDK 类型。包含基本类型、JavaBean、Collection、Map、Enum、泛型等。支持循环引用。
劣势:本地化做的还不够好。
8. KISSY
KISSY 是一款跨终端、模块化、高性能、使用简单的 JavaScript 框架。
所属公司:阿里巴巴,Star:1532,提交时间:7/10/2012
优势:跨终端、模块化、高性能、使用简单的 JavaScript 框架。除了完备的工具集合如 DOM、Event、Ajax、Anim 等,它还提供了经典的面向对象、动态加载、性能优化解决方案。作为一款全终端支持的 JavaScript 框架,KISSY 为移动终端做了大量适配和优化,让你的程序在全终端均能流畅运行。
劣势:你可能需要重新学习 Kissy API。
9. DPark
DPark 是 Spark 的 Python 克隆,是一个 Python 实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。
所属公司:豆瓣,Star:1142,提交时间:10/9/2011
优势:DPark 对底层依赖较轻,不使用 Java 语言不受 JVM 拖累,启动任务快。有效的减少Map和 Reduce 人物之间传递的数据,适合反复迭代的机器学习场景。
劣势:推出时间虽然不短了,但还不是很成熟。扩展性不是很好。
10. Mars
腾讯移动 Web 前端知识库。
所属公司:腾讯,Star:934,提交时间:7/21/2013