Github上的项目使用的顶级Clojure库是什么? 基于分析30,000多个Leiningen依赖项
在选择要包含在项目中的库时要考虑的最有用的事情之一就是它们的流行程度。 虽然实际的功能是手头的主要问题,但要快速了解一下哪些库最常用于解决您要解决的问题,这可以确保您步入正轨。
在我们最近对Java的研究之后,我们研究了Github上9,208个最受欢迎的Clojure存储库(在15,214个中),并提取了它们的project.clj leiningen依赖项。 这给我们提供了3,790个不同依赖项上的30,000多个数据点。 从Rich Hickey到其他顶级社区贡献者,我们都将这一切进行了整理,以创建前100名名单。
让我们仔细看看结果。
新文章:2016年前100个Clojure图书馆–分析了30,000多个依赖项之后https://t.co/NdJoD8QjdG pic.twitter.com/nqMluErwXu
— Takipi(@takipid) 2016年5月19日
2016年排名前20位的Clojure图书馆
前5个精选
#0 Ring –虽然它实际上不在图表的顶部,但这仅是因为有很多方法可以使用Ring来构建Web应用程序。 如果我们将它们全部合并,它们将继续进行#1 。 这导致我们进入Compojure。
#1 Compojure –设置好Ring后,并正在寻找路由库, Compojure无疑是冠军,它依赖我们研究的14.7%的项目。
#2 clojurescript – Clojure项目中的12.4%实际上使用clojurescript (Clojure到Javascript编译器)。 因为……好吧……这不是Javascript。 说够了。 前100个库中有17个与clojurescript相关。
#3 core.async –被测试为支持Clojure中异步编程的库被9.4%的存储库使用。 core.async是选择Clojure的主要原因之一。
#4 clojure-contrib – Github的顶级Clojure顶级项目中仍有8.3%使用过时的 clojure-contrib。 如今,不再需要维护它了,因为Clojure现在为曾经包含的每个功能都有一组单独的库,而不是以前的整体性质。 其中许多都包含在org.clojure下的前100名列表中。
#5 clj-http(和#8的clj-time)–与Java中的顶级库类似, clj-http (Apache HttpComponent的包装器)和clj-time (joda-time的包装器)在最佳。
前20名名单中的其他重点
Cheshire是JSON的第一名,在6.5%的项目中使用 –如果您想解析JSON,或者像Alice in Wonderland引用一样, cheshire是您的首选。 其他进入列表的JSON库是在#11的 org.clojure / data.json ,在#24的 ring-clojure / ring-json和在#92的Jackson封装器clj-json 。
在Clojure中渲染HTML? 使用打ic –这里没有太多的回旋房。 排在第6位的打 ic是进入前100名列表的唯一方法。
Enlive – Clojure的模板库。 Enlive使您可以创建HTML模板,并使用选择器之类CSS对其进行操作。
Environ-一种管理环境变量的超级简单方法。 有趣的事实:Compojure,Ring,Hiccup和Environ都是由James Reeves (又名weavejester)开发的 。
值得一提的前100名作品
#21 试剂 -简约ClojureScript接口React.js 。 Om的图书馆在#32 。
#40 泛音 –协作可编程音乐。 是。
#50 弹弓 –利用Clojure的功能增强对Clojure的尝试投掷能力。 投掷不可扔的东西。
#64 倾向 –更好的Ring异常报告。
你好Clojure
在Takipi ,我们最近添加了对Clojure的支持,很高兴看到越来越多的Clojure用户加入。 Takipi是Java微代理,可让您知道何时以及为何代码在生产中中断。 它显示了每个异常的完整源,调用堆栈和状态(错误时刻的变量值),并记录错误或警告。
是时候查看日志文件之外的内容了 ,将其签出 。
Takipi的错误分析仪表板–变量值覆盖堆栈中每一帧的实际代码– 观看实时演示
基础工作
对于初学者,我们已经从Github挑选了一些顶级的Clojure项目。 在第二步中,我们提取了使用leiningen的数据库,并获得了9,208个存储库。 现在手头有数千个project.clj,我们提取了其中的所有依赖关系,这使我们获得了30,019个数据点,约3,790个唯一库。
为了使分析更容易,我们已经按排名前100位的库的数量处理了前100个库的统计信息。完整列表可在此处获得 ,我们欢迎您查看并确保我们没有错过任何有趣的见解!
最后的想法
Clojure即将庆祝其十岁生日,很高兴看到社区,图书馆和工具生态系统如何在其周围发展。 数以百计的公司正在生产中使用Clojure,我们迫不及待想知道它的下一步发展。
翻译自: https://www.javacodegeeks.com/2016/05/top-100-clojure-libraries-2016.html