このページの内容

Awesome Scala Native

Scala Nativeを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

チュートリアルと例

ビルドツール

  • sbt - Scalaの標準ビルドツール。
  • Mill - Bazelに着想を得て、単純さを追求するビルドツール。
  • Bloop - 高速な開発ワークフロー向けのScalaビルドサーバー兼コマンドラインツール。
  • Seed - Bloopベースのビルドツール。Cargoに着想を得て、ユーザー体験とクロスプラットフォームビルドに注力。

関数型プログラミング

  • Shapeless - ジェネリックプログラミング用ライブラリ。
  • Squants - 量、単位、次元解析のためのDSL。
  • scalaz - データ構造向けの型クラスとインスタンス。
  • nobox - ボックス化を伴わない不変プリミティブ配列ラッパー。
  • PPrint - 値と型を見やすく出力。
  • SourceCode - Cの__LINE__に似たメタデータを提供するimplicit。
  • reactify - Scala向け関数型リアクティブプログラミングフレームワーク。
  • chimney - 定型コード不要のデータ変換。
  • Quicklens - 深くネストしたcase classのフィールドを変更。
  • Cats - Scalaにおける関数型プログラミングの抽象化。

ユニットテスト

  • µTest - ユニットテスト用ライブラリ。
  • minitest - 軽量テストライブラリ。
  • scalaprops - プロパティベーステスト用ライブラリ。
  • ScalaCheck - Scala向けプロパティベーステスト。
  • ScalaTest - テストライブラリ。
  • specs2 - Scala向けソフトウェア仕様。
  • Makeshift - ユニットテスト用ライブラリ。
  • MUnit - 対応方法が明確なエラーと拡張可能なAPIを備えたScalaテストライブラリ。

バインディング

ファイル形式とパーサー

  • msgpack4z - バイナリシリアライズ形式MessagePackの実装。
  • FastParse - パーサーを定義・実行するライブラリ。
  • scalatags - HTML/XMLの構築とレンダリング。
  • Pine - HTML/XMLの解析、操作、レンダリング。
  • scala-json - JSONパーサー。
  • uPickle - Scala向けのシンプル、高速、依存関係なしのJSON・バイナリ(MessagePack)シリアライズライブラリ。
  • toml-scala - コーデック導出を備えたTOMLパーサー。
  • argonaut - 純粋関数型JSONパーサーおよびライブラリ。
  • ScalaPB - Scala向けProtocol Bufferコンパイラー。
  • sconfig - HOCONパーサー。
  • squiggly - LiquidとHugoテンプレートに着想を得た、Scala向けクロスプラットフォーム・テンプレート言語。

データベース

  • scala-native-jdbc - データベースアクセス層JDBCのScala Native移植版。
  • SQLite4S - JavaライブラリSqlite4javaの移植版。SQLiteネイティブライブラリのバインディングを含む。
  • libpq4s - 非同期PostgreSQL CライブラリlibpqのScalaラッパー。
  • skunk - ScalaとPostgres向けデータアクセスライブラリ。

Web開発

  • Trail - ルーティングライブラリ。
  • sttp - HTTPクライアントライブラリ。
  • snunit - NGINX UnitベースのScala Native HTTPサーバー。

並行処理

  • scala-native-loop - Scala Native向けイベントループおよび非同期指向I/O。
  • castor - Scala向け軽量・型付きActorライブラリ。

ロギング

コンソール

ロボティクス

プログラム

インフラストラクチャ

ライセンス

Creative Commons Licence
本作品はCreative Commons Attribution 4.0 International Licenceの下でライセンスされています。