返回 编程语言
Awesome Scala Native
Awesome scala native
Awesome Scala Native
¶
Scala Native 是一个优化的提前编译器 Scala programming language . 传统上,虚拟机, JVM , 需要运行 Scala 程序. Scala Native 利用编译器发出 LLVM intermediate representation 而不是 JVM 字节码. 然后, LLVM 编译器基础结构用于生成本机库和可执行文件. 鉴于 Scala Native 可执行文件是独立程序,它们通常具有较短的启动时间和较低的内存消耗. 这开辟了部署 Scala 程序的新途径,而以前虚拟机是限制因素. 例如,开发人员可以为命令行或嵌入式设备编写程序.
Tutorials and Examples¶
- Giter8 template for a minimal Scala Native project - 官方 Giter8 最小 Scala Native 项目的模板.
- Hands on Scala Native - 使用 Ncurses 实现带宽监视器的教程.
- Starter for Scala Native - 链接到自定义 C 库的 Scala Native 项目.
- Building C code using sbt-jni - 在 Scala Native 项目中编译 C 代码的示例 sbt-jni.
- Example project with external dependencies - 使用外部依赖项生成 HTML 并运行测试套件的示例项目.
- Starter for Gtk+ Projects - Giter8 使用 Scala Native GUI 项目的模板 Gtk+.
- Modern systems programming with scala native 书.
- Write a simple CLI application in Scala Native
Build Tools¶
- sbt - Scala 的标准构建工具.
- Mill - 构建力求简单的工具,灵感来自 Bazel.
- Bloop - Scala 构建服务器和命令行工具,用于快速开发人员工作流程.
- Seed - 基于 Bloop 的构建工具. 专注于用户体验和跨平台构建,灵感来自 Cargo.
Functional Programming¶
- Shapeless - 通用编程库.
- Squants - 用于数量、度量单位和维度分析的 DSL.
- scalaz - 数据结构的类型类和实例.
- nobox - 不带装箱的不可变原始数组包装器.
- PPrint - 漂亮的打印值和类型.
- SourceCode - 隐式提供类似于 C 中的
__LINE__的元数据. - reactify - Scala 的功能反应式编程框架.
- chimney - 无样板的数据转换.
- Quicklens - 修改深度嵌套的案例类字段.
- Cats - Scala 中函数式编程的抽象.
Unit Tests¶
- µTest - 单元测试库.
- minitest - 轻量级测试库.
- scalaprops - 基于属性的测试库.
- scalaprops-shapeless - 生成任意 ADT 实例.
- scalaprops-cross-example - 跨平台示例.
- ScalaCheck - Scala 的基于属性的测试.
- ScalaTest - 测试库.
- specs2 - Scala 的软件规范.
- Makeshift - 单元测试库.
- MUnit - 具有可操作错误和可扩展 API 的 Scala 测试库.
Bindings¶
- cmark - 绑定 cmark CommonMark 解析器库.
- libuv - 绑定 libuv,一个用于异步 I/O 的库.
- SDL2 和 OpenGL - 图形框架的绑定 SDL2 和 OpenGL.
- Cocoa - macOS 图形框架的绑定 Cocoa.
- GNU Scientific Library - 绑定 GNU Scientific Library (GSL).
- BLAS - 绑定 BLAS,一个线性代数库.
- Gtk+ - 绑定 GTK+ 图形工具包.
- libsoup - 绑定 libsoup HTTP 客户端/服务器库.
- libui - 基于GUI框架 libui.
- GStreamer - 绑定 GStreamer 多媒体框架.
- Qt - 绑定 Qt.
- ncurses - 绑定 GNU Ncurses Library.
- readline - 绑定 GNU Readline Library.
- libsndfile - 绑定 Libsndfile 用于采样声音处理的 C 库.
- libpng - 绑定 libpng 用于读取和写入 PNG 的 C 参考库.
- libcairo - 绑定 Cairo 二维图形 C 库.
- cairo-xlib - 绑定 Cairo 二维图形 XLib Surfaces 与绑定 XLib 以及.
- libyaml - 绑定 LibYAML 用于解析的 C 库 YAML.
- iup - 绑定 IUP 用于构建图形用户界面的多平台工具包.
File Formats and Parsers¶
- msgpack4z - 实施 MessagePack,一种二进制序列化格式.
- FastParse - 用于定义和运行解析器的库.
- scalatags - HTML/XML 构建和渲染.
- Pine - HTML/XML 解析、操作和渲染.
- scala-json - JSON 解析器.
- uJson - 用于 Scala 的快速、灵活和直观的 JSON
- toml-scala - TOML 带有编解码器推导的解析器.
- argonaut - 纯功能 JSON 解析器和库.
- ScalaPB - Protocol Buffer Scala 的编译器.
- scalapb-argonaut - 基于 ScalaPB 的 JSON 和 Protocol Buffer 转换器 Argonaut.
- sconfig - HOCON 解析器.
- squiggly - Scala 的跨平台模板语言,灵感来自 Liquid 和 Hugo 模板.
Databases¶
- JDBC - 数据库访问层端口 JDBC 到 Scala Native.
- SQLite4S - Java 库的端口 Sqlite4java . 包括 SQLite 本机库的绑定.
- libpq4s - 围绕异步 PostgreSQL C 库 libpq 的 Scala 包装器.
Web Development¶
Concurrency¶
- scala-native-loop - Scala Native 的事件循环和面向异步的 IO
- castor - 用于 Scala 的轻量级类型化 Actor 库.
Logging¶
- scribe - 快速简单的日志库.
- slogging - Typesafe-logging 和 SLF4J- 基于宏的兼容日志库.
Console¶
- fansi - 用于创建的库 ANSI-coloured strings.
- scopt - 命令行参数解析器.
- scala-optparse-applicative - Haskell 的 CLI 参数解析库的端口 optparse-applicative.
- scallop - 一个简单的 Scala CLI 解析库.
- mainargs - 用于在 Scala 中解析命令行参数的小型、无依赖性库.
- decline - Scala 的可组合命令行解析器.
Robotics¶
- Potassium - 编写机器人软件的框架.
- WPILib - 重新实施 FIRST Robotics WPILib libraries.
Programs¶
- sglgears - GL港口 gears.c.
- k8s-cli - CLI 工具生成 Kubernetes 资源 Akka, Play Framework 和 Lagom基于应用程序.
- Coursier - 快递
bootstrapcommand 生成本机启动器. - fractals - 具有基本动画支持的自相似分形生成器.
Infrastructure¶
- Seed Docker image - 用于跨平台构建的 Docker 图像 Seed.
- scala-native-sbt-docker - Scala Native 和 sbt 的 Docker 镜像.
Licence¶
本作品根据Creative Commons Attribution 4.0 International License获得许可.

