文档章节

社区驱动的有用Scala库,框架和软件的列表

鸡蛋小学生
 鸡蛋小学生
发布于 2017/04/10 15:01
字数 7123
阅读 203
收藏 0

真棒Scala 真棒

社区驱动的有用Scala库,框架和软件的列表。这不是所有图书馆的目录,只是您的探索的起点。灵感来自awesome-python。其他令人惊讶的令人敬畏的列表可以在awesome-awesomeness列表中找到。

此外真棒是Scaladex,斯卡拉库的搜索,标记和集中指数。

超过500名观光者的项目是粗体。

数据库

Scala中的数据库访问库。

消息传递

图形用户界面

用于创建图形用户界面的库

  • ScalaFX - 用于创建位于JavaFX之上的图形用户界面的Scala DSL。

Web框架

用于Web开发的Scala框架。

  • Analogweb - Scala中的微小,简单和可插拔的Web框架。
  • 混沌★203⧗6 - 在Scala中编写REST服务的轻量级框架。
  • 巨人★811⧗70 - 在Scala中构建需要非阻塞网络I / O的高性能应用程序的轻量级框架。
  • Finatra★1323⧗0 - 运行在Finagle之上的scat的一个sinatra启发的网络框架。
  • 提升★1022⧗3 - 安全强大的全栈Web框架(讨论)。
  • peregine★10⧗22 - 一个简单和异步的轻量级Scala Web框架。
  • 播放★8269⧗0 - 使用Java和Scala轻松构建可扩展,快速和实时的Web应用程序。
  • Play Pagelets - Play Framework的模块,以优雅简洁的方式构建弹性和模块化Play应用程序。
  • 活动★194⧗29 - FRP和网络抽象,可以插入任何Web框架(目前只有Lift的绑定)。
  • Scalatra★2008⧗0 - Tiny Scala高性能,异步Web框架,灵感来自Sinatra。
  • Skinny Framework★576⧗0 - Scala上的一个完整的Web应用程序框架,用于在Scala中快速开发。
  • Socko - 由Netty网络和Akka处理器提供支持的嵌入式Scala Web服务器。
  • 喷雾★2391⧗0 - 一套Scala图书馆,用于在Akka之上构建和使用RESTful Web服务。
  • 未过滤★644⧗2 - 用于在Scala中为HTTP和WebSocket请求提供服务的模块化无源原语。
  • Xitrum - Netty,Akka和Hazelcast之间的异步和集群Scala Web框架和HTTP(S)服务器融合。
  • youi - Scala和Scala.js的下一代用户界面框架和服务器引擎。

反应式Web框架

用于反动Web开发的Scala库

  • Binding.scala★230⧗0 - 反应式Web框架。它使您能够使用本机XML文字语法来创建反应式DOM节点,这些DOM节点能够在数据源更改时自动更改。
  • Udash - 基于Scala.js的Web框架,支持属性绑定,前端路由,i18n等等。它还提供基于WebSockets的强类型的客户端< - >服务器RPC系统。
  • Widok - JVM和Scala.js的反应式Web框架
  • Korolev - 在服务器端运行的现代单页应用程序

数据绑定和验证

用于数据绑定和验证的Scala库

i18n

i18n的Scala库。

  • scala-xgettext★17⧗12 - 一个编译器插件,像GNU xgettext命令一样将Scala源代码文件中的i18n字符串提取到Gettext .po文件。
  • Scaposer★28⧗12 - 用于Scala的GNU Gettext .po文件加载器。

认证

用于实施认证方案的图书馆。

授权

用于实施授权策略的图书馆。

  • deadbolt-2★424⧗0 - 支持基于角色和专有授权的Play 2.x模块; 提供Scala和Java API的惯用API。

密码学

密码学和加密库。

测试

用于代码测试的库

JSON

json工作的图书馆

YAML

图书馆与YAML合作。

CSV

使用CSV工作的库。

序列化

用于存储或传输数据的序列化和反序列化的库。

  • avro-codegen★20⧗26 - 从avro模式生成代码,将序列化/反序列化avro消息,无运行时反射。
  • 寒冷★349⧗19 - Kryo序列化库的扩展,以缓解Hadoop和Storm等系统中的配置。
  • 酸洗★779⧗0 - 快速,可定制,无需样品的酸洗支持。
  • ScalaBuff★208⧗0 - Scala协议缓冲区(protobuf)编译器
  • ScalaPB - 用于Scala的协议缓冲区生成器。
  • scodec★415⧗0 - 用于处理二进制数据的组合库。
  • Scrooge - Scala的Apache Thrift代码生成器。
  • 验证★152⧗4 - JSON,HTML表单数据等的高级验证和序列化,在运行时没有反映。
  • μPickle - 适用于ScalaJS的Scala轻量级序列化库,允许在JVM和JavaScript之间传输结构化数据。
  • msgpack - 一个高效的二进制序列化库。

科学与数据分析

用于科学计算,数据分析和数值处理的图书馆。

  • Algebird★1302⧗0 - Scala的抽象代数。
  • Axle★46⧗0 - 科学云计算的基于尖顶的DSL。
  • BigDL★1569⧗0 - BigDL是Apache Spark的分布式深度学习库。
  • 微风★1668⧗0 - 微风是Scala的数字处​​理库。
  • 粉笔★205⧗12 - 粉笔是自然语言处理图书馆。
  • FACTORIE★441⧗0 - 用于可部署概率建模的工具包,在Scala中作为软件库实现。
  • 费加罗★366⧗3 - 费加罗是一种概率编程语言,支持非常丰富的概率模型的开发。
  • MGO★13⧗2 - 模块化多目标进化算法优化库实现不变性。
  • MLLib - Spark的机器学习框架
  • ND4S★146⧗1 - N尺寸阵列和Scala的线性代数,API类似于Numpy。ND4S是ND4J周围的scala包装。
  • OpenMOLE - OpenMOLE(开放MOdeL实验)是一种工作流引擎,旨在利用分布式执行环境的计算能力进行自然并行进程。
  • OscaR - 用于解决运营研究问题的Scala工具包
  • 坚持单位★7⧗83 - Scala中的类型检查单位。
  • PredictionIO★9500⧗0 - 开发人员和数据科学家的机器学习服务器。基于Apache Spark,HBase和Spray
  • 马鞍★394⧗9 - 一个极简主义的熊猫到斯卡拉的港口
  • 微笑 - 统计机器智能和学习引擎。微笑是一个快速而全面的机器学习系统。
  • Spark Notebook★1466⧗0 - 可扩展和稳定的Scala和Spark集中笔记本,弥合了JVM和数据科学家之间的差距(包括可扩展,类型安全和反应性图表)。
  • 尖顶★993⧗1 - 强大的新数字类型和Scala的数字抽象。
  • Squants★288⧗1 - Scala API数量,度量和尺寸分析单位。
  • Tyche - 概率分布,随机和马尔科夫过程,格子行走,简单随机抽样。一个简单而强大的Scala库。
  • Zeppelin - Scala和Spark笔记本(如IPython笔记本)

大数据

图像处理和图像分析

2D和3D图像处理和图像分析

声音处理和音乐

功能反应编程

事件流,信号,可观察等

  • Monix★488⧗0 - 扩展到Scala的多线程原语和功能反应式编程的标准库。Scala.js兼容。
  • 活动集合★2⧗45 - 将事件流和信号与专门的集合(称为反应容器)相结合的库,并使用隔离和通道表示并发。
  • RxScala★514⧗0 - Scala的活动扩展 - 用于使用可观察序列编写异步和基于事件的程序的库
  • scala.frp★18⧗91 - Scala功能反应编程(事件流)。
  • Scala.Rx★687⧗5 - Scala功能反应编程实验库(反应式变量)。Scala.js兼容。
  • SynapseGrid★90⧗109 - 构建反应式实时不变数据流系统的FRP框架。它实现了基于Petri网的运行和组织事件驱动系统的原始方式。拓扑可以被视为.dot图。图书馆与Akka兼容,可与其他演员无缝沟通。
  • Vertx.io - 用于JVM的多沟槽反应应用平台,旨在成为node.js.的替代方案。它的并发模式类似于演员。它支持Scala,Clojure,Java,Javascript,Ruby,Groovy和Python。

模块化和依赖注入

应用程序的模块化,依赖注入等

分布式系统

用于编写分布式应用程序的库和框架。

  • Akka - 用于构建高度并发,分布式和容错的事件驱动应用程序的工具包和运行时。
  • Akka跟踪★223⧗1 - Akka的分布式跟踪扩展。提供与Play框架,Spray和Akka HTTP的集成。
  • 自动破碎机★1⧗0 - 自动包装用断路器返回Futures的类。
  •  -一种用于表现力和高效的服务组合物库
  • CurioDB★431⧗0 - 分布式和持久性Redis克隆用Scala和Akka构建。
  • Finagle - 可扩展的,协议无关的RPC系统,专为高性能和并发而设计。
  • Glokka★46⧗48 - 通过Akka群集中的名称注册和查找演员的图书馆。
  • Lagom - 创建基于微服务的系统的框架。
  • 反应堆 - 分布式计算的基础框架,融合功能反应性规划和传统行为者。

扩展

Scala扩展。

  • Ammonite -Ops - 安全,简单,Scala中的文件系统操作方便于Bash shell。
  • 更好的文件★598⧗0 - 简单,安全和直观的Scala I / O。更好的文件是Java NIO周围的一个无依赖关系的实用的Scala包装。
  • Cassovary★840⧗5 - Scala库,由空间效率设计,处理具有数十亿个节点和边缘的图形。
  • 猫★4⧗7 - 功能编程的轻量级,模块化和可扩展库。
  • 每个★96⧗0 - 一个宏库,将本机命令式语法转换为Scalaz的单体表达式。
  • Eff★165⧗30 - 可扩展效果是用于以功能方式进行计算的单体变压器的替代方案。
  • enableIf.scala★26⧗0 - #if在C / C ++ 中编译时切换Scala代码的库。
  • 枚举★201⧗0 - 用一个密封的案件对象系列替换Scala枚举的宏。这允许对编译器进行额外的检查,例如对于匹配语句中的缺失情况。对Json库和Play框架进行了额外的支持。
  • Freasy-Monad★69⧗2 - 使用Scala宏与一流的Intellij支持,轻松创建免费Monad for Cats和Scalaz。
  • Freedsl - 实现可组合副作用的库,在包装类型上编织类型和免费monad。
  • 仓鼠★101⧗1 - 一个迷你Scala实用程序库。与功能编程初学者兼容。具有验证,单体变压器,高分辨率,联盟类型。
  • idid★2⧗0 - 为不同的Id类型定义通用接口的库。
  • 南丫★58⧗7 - 一个Scala日期库,用于日期和时间表生成。
  • LArray★210⧗21 - 大型堆叠阵列(> 2GB)和mmap文件。
  • Log4s - 快速,Scala友好的日志绑定在SLF4J之上。使用宏来表现极致。
  • Monocle★605⧗3 - 用于对不可变对象进行纯功能操作的光学/透镜库。
  • n-scala★646⧗0 - Joda时间的Scala包装。
  • 持久记录★23⧗0 - Scala综合日志库。
  • Quicklens★198⧗0 - 使用优雅的API修改深度嵌套的案例类字段
  • 索伦 - 少于50线Scala的轻量级镜头库。
  • Rapturerepo) - 常用的日常编程任务(I / O,JSON,i18n等)的库集合
  • Scala记录 - 基于结构细化类型和宏的Scala标记记录。
  • 精简★298⧗3 - 具有编译和运行时检查的简单细化类型
  • 可解析★32⧗1 - 一个库,用于优化从多个端点以多种格式获取不可变数据结构。
  • Scala Async★691⧗0 - Scala的异步编程工具。
  • Scala Blitz - 通过在编译期间删除运行时开销以及自定义数据并行操作运行时来加快Scala收集操作的库。
  • Scala Graph - 具有基本图形功能的Scala库,无缝地适用于Scala标准库。
  • scala.meta - Scala的元编程工具包的洁净室实现。
  • Scalactic - 与质量有关的小型实用程序库,有助于保持代码清晰和正确。
  • Scalaz★2683⧗0 - 功能编程的核心Scala库的扩展。
  • scribe★7⧗0 - 实际的日志框架,不依赖于任何其他日志记录框架,可以通过编程方式完全配置。
  • Shapeless★1669⧗0 - Scala类型类和依赖类型的通用程序库。
  • 无状态的未来★147⧗0 - 全功能Scala语法中的异步编程。
  • Twitter Util★1613⧗0 - 通用Scala库,包括未来的实现和其他并发工具。
  • wvlet-log - 用于使用颜色和源代码位置增强应用程序日志的库。

杂项

不适合任何特定类别的项目。

Android

用于Android开发的Scala库和包装器。

HTTP

用于HTTP客户端的Scala库和包装器。

语义网

与Web数据交互的Scala库和其他RDF工具。

  • Banana-RDF★185⧗15 - 适用于RDF和链接数据技术的Scala友好抽象。支持耶拿,芝麻和原生Scala。
  • rdfp★1⧗356 - Scala中的RDF流处理框架
  • Scowl★15 - Scala DSL允许使用OWL API组合OWL表达式和公理的声明式方法。

指标和监测

用于收集指标和监控应用程序的Scala库。

  • Kamon - 收集使用Akka,Spray and Play构建的应用程序的指标!并支持用户指标。

解析

用于创建解析器的Scala库。

Sbt插件

Sbt插件,使您的生活更轻松。

XML / HTML

XML和HTML生成和处理

学习Scala

很好的书籍,博客和其他资源来学习Scala

JavaScript

JavaScript生成和互操作库。

模板

网页模板引擎。

工具

地理空间

图书馆帮助地理空间计算和文物。

本文转载自:https://github.com/lauris/awesome-scala

鸡蛋小学生

鸡蛋小学生

粉丝 29
博文 33
码字总数 186546
作品 0
长沙
私信 提问
加载中

评论(0)

每当我想放弃 Scala,我就写写 Python 和 Java

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 我的一位朋友最近在推特上表示:公众对 Scala 编程语言的兴趣似乎已经趋于稳定或减...

云栖号资讯小哥
04/16
0
0
Lightbend 公司加入 Eclipse 基金会以支持 Jakarta EE

Lightbend 是 Scala 语言背后的支持公司,同时也是响应式编程的先行者,它支持着 Reactive 平台的开发。日前该公司宣布已正式加入 Eclipse 基金会,因为 Lightbend 表示这是企业版 Java 的新...

局长
2018/04/14
1.4K
5
Apache Zeppelin 0.8.0 发布,协作数据分析

2018-06-28,Apache Zeppelin 0.8.0 发布,Docker 镜像同步更新,可前往官方下载页面下载。文档尚未更新为最新版本。 自上次发布以来,社区为改进 Apache Zeppelin 付出了巨大的努力,并在此...

wffger
2018/07/03
929
1
创业项目该如何选择技术?

这些年,许多人问过我下面相同的问题: 我开始了一个新项目,你认为我该使用什么技术呢? 通常,这些人属于下面两类中的一类: 已经做出决定的技术人员 需要鼓励支持的非技术人员 在一天结束...

Wyatt
2013/09/14
9.8K
50
评估Scala: 从数据工程师的角度评估Scala的现状和发展

本文转自OReillyData微信公众号,版权属O'Reilly Media所有。如需转载请联系OReillyData微信公众号。另,如视频及图片无法正常显示,请登录O'Reilly官网阅读原文:https://www.oreilly.com.c...

O'Reilly
2017/07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

zookeeper实现分布式锁总结,看这一篇足矣(设计模式应用实战)

zk实现分布式锁纵观网络各种各样的帖子层出不穷,笔者查阅很多资料发现一个问题,有些文章只写原理并没有具体实现,有些文章虽然写了实现但是并不全面 借这个周末给大家做一个总结,代码拿来...

osc_75pcgicm
43分钟前
20
0
163邮箱配置imap和smtp,隐藏的设置

http://config.mail.163.com/settings/imap/index.jsp?uid=XXXXX@163.com,这是一个隐藏的设置,要到这里配置才能用163的imap或者pop...

bengozhong
44分钟前
22
0
Python可变对象和不可变对象

Python中一切皆对象,每个对象都有其唯一的id,对应的类型和值,其中id指的是对象在内存中的位置。根据对象的值是否可修改分为可变对象和不可变对象。其中, 不可对象包括:数字,字符串,t...

osc_pnyuctmm
45分钟前
20
0
数据库垂直拆分 水平拆分

1 数据库拆分 当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆分了。 数据库拆分简单来说,就是指通过某种特定的条件,按照某个维度,将我们存放在同一个数...

努力的学渣
46分钟前
22
0
微信小程序连接低功率蓝牙控制单片机上硬件设备

1.软件部分介绍   微信小程序是一种新的应用,用户不需要下载应用只用通过扫二维码或者打开链接就能使用,使用完后不需要卸载,直接关闭就行了。微信在2017年初推出微信小程序开发环境。任...

osc_uxgfefy0
46分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部