Awesome Scala
Scalaを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
- Learning Scala
- Projects
- Android
- Archive and Compression
- Artificial Intelligence
- Authentication
- Authorization
- Big Data
- Command Line Interfaces
- Cryptography
- CSV
- Data Binding and Validation
- Database
- DevOps
- Distributed Systems
- Extensions
- Functional Reactive Programming
- Geospatial
- Graphical User Interfaces
- HTTP
- i18n
- Image processing and image analysis
- JavaScript
- JSON
- Markdown
- Metrics and Monitoring
- Misc
- Modularization and Dependency Injection
- Parsing
- Reactive Web Frameworks
- Sbt plugins
- Science and Data Analysis
- Scheduling
- Semantic Web
- Serialization
- Templating
- Testing
- Tools
- Web Frameworks
- XML / HTML
- YAML
- Learning Scala
- Contributing
アーカイブと圧縮
| 名前 | 説明 | GitHub アクティビティ |
|---|
人工知能
| 名前 | 説明 | GitHub アクティビティ |
|---|
データベース
Scala におけるデータベースアクセスライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| akka-persistence-gcp-datastore | akka-persistence-gcp-datastore は、google cloud firestore をデータストアモードで使用する akka-persistence のジャーナルおよびスナップショットストアプラグインです。 | |
| anorm | Anorm データベースライブラリ | |
| clickhouse-scala-client | Clickhouse Scala クライアント(Reactive Streams をサポート) | |
| couchbase-jvm-clients | Couchbase の JVM クライアント向けのモノリス:Java、Scala、io-core… | |
| doobie | Scala 用の機能的な JDBC レイヤー。 | |
| elastic4s | 🔍 Elasticsearch Scala クライアント - リアクティブ、ブロッキングなし、型安全、HTTP クライアント | |
| etcd4s | Scala etcd クライアント(V3 API を実装) | |
| laserdisc | フューチャーなしの Fs2 ナイティブ純粋FP Redis クライアント | |
| mysql-binlog-stream | なし | |
| neotypes | Scala 用の軽量、型安全、非同期ドライバー(neo4j) | |
| pulsar4s | Apache Pulsar 用の、自然な、型安全、リアクティブ Scala クライアント | |
| zio-quill | Scala 用のコンパイル時言語統合クエリ | |
| ReactiveMongo | :leaves: 非ブロッキング、リアクティブ MongoDB ドライバー(Scala) | |
| rediscala | 非ブロッキング、リアクティブ Redis ドライバー(Scala)(Sentinel をサポート) | |
| relate | Scala でのパフォーマンスの高いデータベースアクセス | |
| sangria | Scala 用の GraphQL 実装 | |
| scala-forklift | Slick、Git およびそれ以上のデータ移行ツール(型安全) | |
| scalarelational | SQL データベースの定義、変更、クエリを行うための型安全なフレームワーク | |
| scalikejdbc | Scala 開発者向けの tidy SQL 基盤の DB アクセスライブラリ。このライブラリは自然に JDBC API をラップし、使いやすい API を提供します。 | |
| scanamo | Scala 用のシンプルな DynamoDB アクセス | |
| slick | Slick(Scala 言語統合接続キット)は、Scala 用の現代的なデータベースクエリおよびアクセスライブラリです | |
| slick-pg | Slick の PostgreSQL 延長機能 | |
| squery | Scala 3 でのシンプルな SQL クエリ | |
| squeryl | データベースとのやり取りに最小の記述と最大の型安全を提供する Scala DSL | |
| molecule | Molecule は、カスタム Scala コードを複数データベースのクエリに変換します。 | |
| zio-redis | ZIO 基盤の Redis クライアント | |
| skunk | Scala + Postgres 用のデータアクセスライブラリ。 | |
| kvs | 高可用性の分散型ストレージで、強力な最終一致と順序一致を実現し、フィード、ソート、検索をサポート |
メッセージング
| 名前 | 説明 | GitHub活動 |
|---|
グラフィカルユーザーインターフェース
グラフィカルユーザーインターフェースの作成用ライブラリ
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| scalafx | ScalaFX は、Scala で JavaFX 基盤のユーザーインターフェースを作成を簡略化します |
ウェブフレームワーク
ウェブ開発用のスケーラフレームワーク。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| analogweb-scala | スケールのScala用の小さな高性能HTTPサーバー | |
| cask | Cask: スケールのHTTPマイクロフレームワーク。Caskは、スケールを使ってウェブサイト、バックエンドサーバー、またはREST APIを簡単に構築できるようにする | |
| finatra | TwitterServerおよびFinagleに基づく、高速かつテスト可能なスケールサービス | |
| framework | Liftフレームワーク | |
| playframework | Javaおよびスケール向けのコミュニティが維持する高速ウェブフレームワーク。 | |
| scalajs-react | FacebookのReactをスケール.JSで実装 | |
| scalatra | サイナトリアにインスピレーションを受けた、スケールの小さな高性能、非同期ウェブフレームワーク | |
| sharaf | 最小限のスケール3ウェブフレームワーク | |
| unfiltered | スケールでHTTPリクエストを処理するためのツールキット | |
| youi | スケールおよびスケール.jsを用いた、ウェブ、モバイル、デスクトップ向けの次世代ユーザーインターフェースおよびアプリケーション開発。 |
リアクティブウェブフレームワーク
反応型ウェブ開発用のスケールライブラリ
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| Binding.scala | スケールの反応型データバインディング | |
| udash-core | 美しく、維持しやすいウェブアプリケーションを構築するためのスケールフレームワーク。 | |
| vertx-lang-scala | Vert.x for Scala |
データバインディングと検証
データバインディングとバリデーション用のScalaライブラリ
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| dupin | 最小限で、idiomaticで、カスタマイズ可能なバリデーションScalaライブラリ。 | |
| octopus | ボイラープレートなしでバリデーションを行うためのScalaライブラリ |
i18n
i18n用のScalaライブラリ
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| scaposer | Scala用のGNU Gettext .poファイルローダー |
認証
認証スキームを実装するためのライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| play-googleauth | Google との認証に使うシンプルなPlayモジュール | |
| play-pac4j | JavaおよびScalaで書かれたPlayフレームワーク2用のセキュリティライブラリ:OAuth、CAS、SAML、OpenID Connect、LDAP、JWT… | |
| scala-oauth2-provider | Scalaで書かれたOAuth 2.0のサーバー側実装 |
暗号
暗号化および暗号化ライブラリ。
テスト
コードテスト用のライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| bencher | 🐰 Bencher - コンティニュアスベンチマーク | |
| cornichon | HTTP JSON API 用のスケールのテストツール | |
| gatling | モダンなロードテストとしてのコード | |
| minitest | Scala および Scala.js 用の超軽量テストライブラリ | |
| mockito-scala | Scala 言語用の Mockito | |
| munit | アクション可能なエラーと拡張可能なAPIを備えたScalaテストライブラリ | |
| scalacheck | Scala用のプロパティベーステスト | |
| ScalaMock | ナイティブなScalaのモックフレームワーク | |
| scalaprops | Scala用のプロパティベーステストライブラリ | |
| scalatest | ScalaおよびJava開発者向けのテストツール | |
| specs2 | Scala用のソフトウェア仕様 | |
| stryker4s | Scala用のミュテーションテスト | |
| weaver-test | すべてを並列で実行するテストフレームワーク | |
| testcontainers-scala | Scala用のテスト用Dockerコンテナ | |
| utest | Scala用のシンプルなテストフレームワーク |
JSON
JSONを使ったライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| argonaut | Scalaで純粋関数的なJSONパーサーおよびライブラリ | |
| borer | Scalaでの効率的なCBORおよびJSON(デ)シリアライゼーション | |
| circe | Scala用のもう一つのJSONライブラリ | |
| diffson | JSON用のスケールの差分/パッチライブラリ | |
| jackson-module-scala | Jackson (https://github.com/FasterXML/jackson) への追加モジュールでScala固有のデータ型をサポート | |
| jawn | Jawnはjay-sawn(JSON)をパースするためのもの | |
| json4s | JSONライブラリ | |
| jsoniter-scala | Scalaのマクロによるコンパイル時生成の安全かつ超高速JSONコードジェネレーター+circe booster | |
| ninny-json | nullと存在しないフィールドを区別できるJSON型クラス | |
| play-json | Play JSONライブラリ | |
| ScalaJack | Scala用の高速JSONパーサー/ジェネレーター | |
| spray-json | Scalaでの軽量でシンプルなJSON実装 | |
| tupson | Scala 3用のシンプルなJSONを書く・読むためのライブラリ | |
| zio-json | 高速で安全なJSONライブラリでZIOとの統合が緊密 |
YAML
YAMLを扱うためのライブラリ。
| 名前 | 説明 | GitHubの活動 |
|---|
CSV
CSVを扱うためのライブラリ。
| 名前 | 説明 | GitHubの活動 |
|---|---|---|
| kantan.csv | Scala用のCSV処理ライブラリ | |
| scala-csv | Scala用のCSVリーダー/ライター | |
| spata | Scala用の機能的でストリームベースのCSV処理ライブラリ |
シリアライズ
データの保存や送信用にシリアル化・デシリアル化を行うためのライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| borer | Scalaでの効率的なCBORおよびJSON(デ)シリアル化 | |
| avro4s | Scala向けのAvroスキーマ生成およびシリアル化/デシリアル化 | |
| chill | Kryoシリアル化ライブラリ向けのScala拡張 | |
| ScalaPB | Scala向けのプロトコルバッファコンパイラ | |
| scodec | 二進データを扱うためのScala用コンビネータライブラリ | |
| scrooge | Thriftのパーサー/ジェネレーター | |
| upickle | uPickle: Scala向けのシンプルで高速かつ依存関係のないJSONおよびバイナリ(MessagePack)シリアル化ライブラリ | |
| proto | Scala 2/3向けのプロトコルバッファベースのマクロを使った軽量かつ高速なシリアル化ライブラリ |
科学計算とデータ分析
科学計算、データ分析および数値処理用のライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| algebird | Scala向けの抽象代数 | |
| ipex-llm | Intel XPU(例:iGPUおよびNPUを備えたローカルPC、Arc、FlexおよびMaxなどのディスクリートGPU)上でローカルLLMの推論およびフィンテインを高速化(LLaMA、Mistral、ChatGLM、Qwen、Baichuan、Mixtral、Gemma、Phi、MiniCPMなど);llama.cpp、Ollama、HuggingFace、LangChain、LlamaIndex、GraphRAG、DeepSpeed、vLLM、FastChat、Axolotlなどとシームレスに統合 | |
| breeze | Breezeは/はScala向けの数値処理ライブラリでした | |
| doddle-model | :cake: doddle-model: Scalaでの機械学習 | |
| libra | 依存型に基づく次元解析ライブラリ | |
| LoMRF | LoMRFはマーカーロジックネットワークのオープンソース実装 | |
| mgo | 多目的最適化用の純粋関数的な遺伝アルゴリズム | |
| MLLib | Spark向けの機械学習フレームワーク | |
| numsca | numscaはnumpyのScala版 | |
| onnx-scala | Scala 3での型付き、関数型深層学習および古典的機械学習向けのONNX(Open Neural Network eXchange)APIおよびバックエンド | |
| openmole | 高性能コンピューティングを用いたシミュレーションモデルの探索用ワークフローエンジン | |
| Optimus | OptimusはScala向けの数学プログラミングライブラリです | |
| OscaR | オペレーションリサーチ問題を解決するためのScala用ツールキット | |
| rings | Rings: 多項式環向けの効率的なJVMライブラリ | |
| smile | 統計的機械知能および学習エンジン | |
| spire | Scala向けの強力な新しい数値型および数値抽象 | |
| squants | 量、単位、次元解析向けのScala API | |
| zeppelin | Webベースのノートブックで、SQL、Scalaなどを用いたデータ駆動型のインタラクティブデータ分析および協働ドキュメントを可能にする | |
| spark-nlp | 最先端の自然言語処理 | |
| VecMatLib | ベクトルおよびマトリクス向けのデータ構造を提供するオープンソースScalaライブラリ |
ビッグデータ
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| flink | Apache Flink | |
| gridscale | Scalaによるさまざまなファイル、バッチシステム、ジョブスケジューラーおよびグリッドミドルウェアへのアクセス用のライブラリ。 | |
| kafka | Apache Kafkaのマージン | |
| alpakka-kafka | Alpakka Kafka コネクタ - Alpakka は Java および Scala 用の反応性エンタープライズ統合ライブラリで、Reactive Streams および Akka をベースにしている。 | |
| scio | Apache Beam および Google Cloud Dataflow 用のScala API。 | |
| Scrunch | Apache Crunchに対するScalaのラッパーで、MapReduceパイプラインの作成、テスト、実行を行うためのフレームワークを提供する。 | |
| spark | Apache Spark - 大規模データ処理用の統合分析エンジン | |
| gallia-core | スキーマを意識したScalaによるデータ変換用のライブラリ | |
| nussknacker | リアルタイムデータ上のアクションを自動化するための低コードツール | ユーザー向けのストリーム処理。 |
コマンドラインインターフェース
コマンドラインインターフェースの作成用のライブラリ
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| decline | Scala用の合成可能なコマンドラインパーサー。 | |
| mainargs | Scalaでのコマンドライン引数パーサーに用いる、小さな、便利で依存関係のないライブラリ。 | |
| scallop | シンプルなScala CLIパーサーライブラリ | |
| scopt | Scalaでのコマンドラインオプションのパーサー |
画像処理と画像解析
2次元および3次元画像処理と画像分析
音声処理と音楽
| 名前 | 説明 | GitHub活動 |
|---|
関数型リアクティブプログラミング
イベントストリーム、シグナル、オブザーバブルなど
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| fs2 | Scala用の組み立て可能なストリーミングI/Oライブラリ | |
| iteratee | Cats用のイテレートライブラリ | |
| monix | ScalaおよびScala.js用の非同期、反応型プログラミング | |
| REScala | REScala - オブジェクト指向および関数型プログラムに埋め込まれた分散かつ反応型プログラミング | |
| zio | ZIO — Scalaでの非同期および並列プログラミングに用いるタイプセーフかつ組み立て可能なライブラリ | |
| vertx-lang-scala | Scala用のVert.x |
モジュール化と依存性注入
アプリケーションのモジュライズ、依存性注入など
| 名前 | 説明 | GitHubの活動 |
|---|---|---|
| airframe | Scalaにおける基本的な構成要素 | |
| izumi | Scalaツールチェーン向けに生産性を重視した軽量で魅力的な機能のコレクション | |
| macwire | コンパイル時、型安全でコストゼロの依存性注入ライブラリ | |
| scaldi | 軽量なScala依存性注入ライブラリ | |
| jam | 非常にシンプルなDI Scalaライブラリ |
分散システム
分散アプリケーションを書くためのライブラリとフレームワーク
| 名前 | 説明 | GitHubの活動 |
|---|---|---|
| akka | JVM上で高スループット、分散、耐障害のメッセージ駆動アプリケーションを構築 | |
| annette | 分散型、スケーラブル、企業規模のビジネスアプリケーションを構築するプラットフォーム | |
| finagle | ファウトターダンスで、プロトコルに依存しないRPCシステム | |
| poppet | 最小限の構成で、型安全なRPC Scalaライブラリ | |
| automorph | Scala用のRPCクライアントおよびサーバーライブラリ |
拡張
Scala拡張機能。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| Ammonite | Scalaスクリプト | |
| better-files | 簡単で安全かつ直感的なScala I/O | |
| blindsight | Blindsightは、構造化ログ、フローログ、セマンティックログ、フローログ、コンテキスト認識ログをサポートするScalaログAPIです。 | |
| cats | 軽量でモジュール化され、拡張可能な関数型プログラミング用のライブラリ | |
| chimney | ボイラープレートなし、型安全なデータ変換用のScalaライブラリ | |
| chronoscala | nscala_timeのJSR-310版 | |
| Dsl.scala | Scalaで埋め込みドメイン特定言語を作成するためのフレームワーク | |
| each | マクロライブラリで、ネイティブの命令文をscalazのモノイド表現に変換 | |
| eff | catsにおけるEff monad - https://atnos-org.github.io/eff | |
| enableIf.scala | コンパイル時にScalaコードを切り替えられるライブラリ、C/C++の#ifのように | |
| enumeratum | Scala用の型安全かつ反射なし、強力なエnum実装。完全パターンマッチ警告と有益な統合を提供。 | |
| log4s | Scala用の高パフォーマンスSLF4Jラッパー | |
| izumi | Scalaツールチェーン向けの軽量で高効率な機能を収録したプロダクティビティ指向のライブラリ | |
| Monocle | Scala用のOpticsライブラリ | |
| nscala-time | Joda Timeに基づいた新しいScala用のWrapper(scala-timeをベースに) | |
| quicklens | 深いネストされたケースクラスフィールドを変更 | |
| refined | Scala用のリファインメント型 | |
| scala-async | Scala用の非同期プログラミング機能 | |
| scala-graph | Graph for Scalaは、Scalaコレクションライブラリに自然に統合された基本的なグラフ機能を提供することを目的としています。Scalaのよく知られたメンバーと同様に、Graph for Scalaはメモリ内グラフライブラリであり、グラフの編集や走査、サイクルの検出など、ユーザーに親しみやすい方法で実行することを目的としています。 | |
| scala-logging | Scala用の便利でパフォーマンスの高いログライブラリ(SLF4Jをラッピング) | |
| scalameta | Scalaプログラムの読み取り、分析、変換、生成を行うライブラリ | |
| scalaz | Scalaにおける原則的な関数型プログラミング | |
| scribe | 世界で最も速いログライブラリ。スクラッチからScalaで構築され、プログラム的に設定可能。 | |
| shapeless | Scala用の一般化プログラミング | |
| simulacrum | Scalaにおける型クラスの第一クラスの構文サポート | |
| squid | Squid – Scala用の型安全なメタプログラミングおよびコンパイルフレームワーク | |
| tinylog | tinylogはJava、Kotlin、Scala、Android向けの軽量ログフレームワーク | |
| util | Twitterから提供された素晴らしい再利用可能なコード |
その他
カテゴリに該当しないプロジェクト。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| Ammonite | Scalaスクリプト | |
| bootzooka | ログイン、ユーザー登録など書く必要のない、Scalaベースのマイクロサービスやウェブアプリケーションを迅速に開発できるシンプルなプロジェクト | |
| eclair | Lightning NetworkのScala実装 | |
| fansi | Fancy Ansi彩色文字を操作するためのScala/Scala.jsライブラリ | |
| fs2-aws | AWSとのインタラクションを可能にするfs2ユーティリティ | |
| mailgun4s | Mailgun APIのScala実装 | |
| managerial | 依存関係のないScalaライブラリでリソースをモノイド的に管理 | |
| media4s | ffmpeg、ffprobe、ImageMagickなどメディア関連ツールをラップするScalaコマンドラインツール | |
| play-swagger | playフレームワーク向けのSwagger仕様生成ツール | |
| PPrint | Scalaにおける値、型、型署名をきれいに表示するツール | |
| pureconfig | ボイラープレートなしで設定ファイルを読み込むライブラリ | |
| service-chassis | アプリケーションやサービスの迅速な起動を支援するScalaのフレームワーク | |
| spliff | Scalaでの効率的な差分処理 | |
| scountries | ISO 3166コードの国およびその下位区分を列挙するScalaライブラリ | |
| scurl-detector | 文字からURLを検出・抽出するScalaライブラリ | |
| aptus-core | Scala開発体験を簡素化するためのユーティリティライブラリ |
Android
Android開発向けScalaライブラリとラッパー。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| scaloid | ScaloidはAndroidコードを理解しやすく、維持しやすいようにします。 |
HTTP
HTTPクライアント向けScalaライブラリとラッパー。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| akka-http | Akkaのストリーミング中心のHTTPサーバー/モジュール | |
| reboot | JavaのAsyncHttpClientに対するScalaラッパー。 | |
| finch | Finagle HTTPサービスを構築するためのScalaコンビネータライブラリ | |
| http4s | HTTPに対する最小限で、Scalaらしいインターフェース | |
| lolhttp | Scala向けのHTTPサーバーおよびクライアントライブラリ。 | |
| requests-scala | 人気のあるPythonのRequests HTTPクライアントのScala版:柔軟で、直感的で使いやすい。 | |
| scalaxb | scalaxbはScala用のXMLデータバインディングツール。 | |
| sttp | あなたがいつも望んだScalaのHTTPクライアント! | |
| tapir | 自明なAPIを迅速に開発 | |
| endpoints4s | ScalaでHTTPエンドポイントを記述し、クライアント、サーバー、ドキュメントを自動生成 | |
| frontier | ZIOで構築された軽量HTTP/WebSocketサーバー |
Semantic Web
ウェブ・オブ・データやその他のRDFツールとの相互作用に用いられるScalaライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| scowl | OWL APIを使ったプログラミングに用いられるScala DSL。 |
メトリクスとモニタリング
アプリケーションのメトリクス収集と監視に用いられるScalaライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| metrics-scala | DropwizardのMetricsに用いられるScala API。 |
構文解析
スカルaのパーサーを作成するためのライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| atto | 友好的な小さなパーサー | |
| fastparse | Scalaで高速なパーサーを高速に書く | |
| parboiled2 | Scala 2.10以降向けのマクロベースのPEGパーサー生成器 | |
| scala-parser-combinators | Scala向けのシンプルなコンビネータベースパーサー。かつてはScala標準ライブラリの一部であったが、現在は独立したコミュニティが維持するモジュール | |
| cats-parse | catsエコシステム向けのパーサーライブラリ |
Sbtプラグイン
Sbtプラグインであなたの生活をより簡単にしてください。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| better-monadic-for | スケールのデスーリング for における暗黙の withFilterの使用なし | |
| coursier | スケール純粋なアーティファクトの取得 | |
| mdoc | スケールの型チェック済みマーカードドキュメンテーション | |
| sbt-api-mappings | 一般的なスケールライブラリのapiMappingsを埋めるSbtプラグイン | |
| sbt-assembly | オーバーバージャーをデプロイ。プロセスを再起動。(codahale/assembly-sbtのポート) | |
| sbt-buildinfo | 私はこれについて知っている理由は、build.sbt がこれについて知っているからです。 | |
| sbt-ci-release | GitHub Actions から Sonatype リリースを自動化する sbt プラグイン | |
| sbt-dependency-check | OWASP DependencyCheck 用の SBT プラグイン。あなたの依存関係を監視し、公開されている脆弱性(例:CVE)がある場合に報告します。 :rainbow: | |
| sbt-docker | sbt から直接 Docker イメージを作成 | |
| sbt-doctest | スケーラのドキュメントテスト | |
| sbt-ghpages | git、サイトおよびghpagesのsbtプロジェクトへのサポート | |
| sbt-header | sbt-headerは、ファイルヘッダー(例:著作権ヘッダー)を作成するためのsbtプラグイン | |
| sbt-hepek | スケーラのオブジェクトをファイルにレンダリングするためのsbtプラグイン。その他にも! | |
| sbt-ide-settings | SBTで各種IDEの設定を調整できるプラグイン | |
| sbt-jmh | ”信を置けず、すべてを検証する” - JMH(Javaマイクロベンチマークハーネス)用のSBTプラグイン | |
| sbt-microsites | プロジェクト用に素晴らしいマイクロサイトを作成できるSBTプラグイン | |
| mima | Scalaにおけるバイナリ互換性の問題を検出できるツール | |
| sbt-native-packager | sbt Native Packager | |
| sbt-pack | スケールアップ可能なScalaパッケージを作成するためのsbtプラグイン. | |
| sbt-pgp | sbt用のPGPプラグイン | |
| sbt-release | sbt用のリリースプラグイン | |
| sbt-scala-js-map | GitHub上にホストされているScala.jsプロジェクト向けにソースマッピングを設定するsbtプラグイン | |
| sbt-scalafmt | Scalafmt用のsbtプラグイン | |
| sbt-scoverage | scoverage用のsbtプラグイン | |
| sbt-site | sbt用のサイト生成 | |
| sbt-sonatype | Scala/JavaプロジェクトをMaven中央リポジトリに公開するためのsbtプラグイン | |
| sbt-unidoc | 複数のサブプロジェクト間で統一されたScaladocまたはJavadocAPIドキュメントを作成するためのsbtプラグイン | |
| sbt-updates | MavenおよびIvyリポジトリに存在する依存関係の更新を確認できるsbtプラグイン | |
| sbt-eclipse | sbt用のEclipseプロジェクト定義を作成するためのプラグイン | |
| splain | スカルァのためのより良い暗黙のエラー | |
| xsbt-web-plugin | sbtにおけるセリフサポート | |
| sbt-git | sbt用のGitプラグイン |
XML / HTML
XMLおよびHTMLの生成と処理
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| scala-scraper | HTMLページからコンテンツをスクレイピングするためのScalaライブラリ | |
| xs4s | Scala向けのXMLストリーミング(FS2/cats対応) | |
| phobos | Scala向けに効率的かつ表現力の高いXMLデータバインディングライブラリ |
Markdown
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| Laika | sbt、ScalaおよびScala.js向けのサイトおよび電子書籍生成ツールとカスタマイズ可能なテキストマーカー変換器 |
JavaScript
JavaScriptの生成および相互作用ライブラリ
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| scala-js | Scala.js、ScalaからJavaScriptへのコンパイラ |
スケジューリング
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| akka-quartz-scheduler | Akkaにおけるクロントースタイルスケジューリング用の拡張およびユーティリティ |
テンプレート
ウェブテンプレートエンジン
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| scalatags | ScalaTagsはScala用の小さなXML/HTML構成ライブラリです。 | |
| scalate | ScalateはHAML、MustacheおよびJSP、ErbおよびVelocityスタイルの構文をサポートするScalaベースのテンプレートエンジンです。 | |
| twirl | TwirlはPlayのデフォルトテンプレートエンジンです | |
| hepek | Typesafe HTMLテンプレートおよび純粋Scalaによる静的サイトジェネレーター |
ツール
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| bloop | Bloopは、任意のエディタまたはビルドツールからScalaを高速にコンパイル、テスト、実行できるビルドサーバーおよびCLIツールです。 | |
| coursier | パーフェクトなScalaアーティファクト取得 | |
| dregex | dregexは、決定論的有限自動機(DFA)を使用して正規表現エンジンを実装するJavaライブラリです。Perlスタイルの機能をサポートしつつ、線形マッチング時間に保ち、さらに集合演算を提供します。 | |
| fast-string-interpolator | Scalaのマクロで超高速な文字列インタポーラータを生成するツール。 | |
| fastring | 超高速な文字列フォーマット | |
| gitbucket | Scalaを用いたGitプラットフォーム。インストールが簡単で、高度な拡張性を備え、GitHub APIと互換性があります | |
| giter8 | GitHubに定義されたテンプレートを適用するコマンドラインツール | |
| metals | Scala言語サーバーで豊かなIDE機能を提供 🚀 | |
| mill | Millは、JavaおよびScalaをサポートする高速なJVMビルドツールです。Gradleに比べて2〜3倍、Mavenに比べて5〜10倍速いです。一般的なワークフローにおいて、Millはプロジェクトのビルドプロセスをパフォーマンス、保守性、柔軟性のあるものにします | |
| sbt | sbt、インタラクティブなビルドツール | |
| scalafix | Scala用のリファクタリングおよびlintツール | |
| Scalafmt | Scala用のコードフォーマッター | |
| scalariform | Scalaソースコードフォーマッター | |
| scapegoat | Scalaコンパイラプラグインによる静的コード分析 | |
| wartremover | 柔軟なScalaコードlintツール | |
| scala2plantuml | Scala2PlantUMLは、ScalaコードからPlantUML図を生成します。 |
地理空間
地理空間計算やアーティファクトに関連するライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| geotrellis | GeoTrellisは、高性能アプリケーション向けの地理データ処理エンジンです。 | |
| osm4scala | OpenStreetMap Pbfファイルを読み込むためのScalaおよびSparkライブラリです。 | |
| rtree2d | RTree2Dは、2次元の不変R木で、平面および球面座標における極速の近傍および交差クエリを実現します | |
| stac4s | スペースタイム資産カタログ仕様を使用してアプリケーションを構築するためのScalaライブラリ(基本的なプリミティブを提供) | |
| franklin | STAC/OGC API Features Web Service |
DevOps
DevOpsに関連するツールおよびライブラリ。
| 名前 | 説明 | GitHub活動 |
|---|---|---|
| skuber | ScalaのKubernetesクライアントライブラリ |
Scalaの学習
Scalaを学ぶための良い本、ブログ、およびその他のリソース
書籍
- Essential Scala ノエル・ウェルシュとデイブ・グーレルによる - 実務経験のある開発者が初めてScalaに触れるための本
- Functional and Reactive Domain Modeling デバシシュ・ゴーシュによる
- Functional Programming for Mortals サム・ハリディーによる
- Functional Programming in Scala パウル・チウサノとルナービャンソンによる
- Functional Programming, Simplified (Scala edition) アルビン・アレクサンダーによる
- Get Programming with Scala ダニエラ・スフレゴラによる - Scalaに関するチュートリアル中心の導入
- Practical FP in Scala: A hands-on approach ガブリエル・ボルペによる
- Programming in Scala マーティン・オーデルスキー、レクス・スプーン、ビル・ベンナーズによる
- Pure functional HTTP APIs in Scala ジェンス・グレースルによる
- Reactive Programming with Scala and Akka - 反応型プログラミングの概念を用いて、複数ノードで実行される分散システムを構築
- Scala Cookbook アルビン・アレクサンダーによる
- Scala for the Impatient カイ・ホルストマンによる - Scalaのほとんどの機能を短く、わかりやすく解説
- Scala With Cats ノエル・ウェルシュとデイブ・グーレルによる - モダン関数型プログラミングの技術を用いて、システムアーキテクチャと設計を学ぶ Cats
- The Type Astronaut’s Guide to Shapeless デイブ・グーレルによる
- Zionomicon ジョン・A・デ・ゴースとアダム・フレーザーによる - ZIOを用いて、スケーラブルで型安全かつ並列処理可能なアプリケーションの開発の「暗黒の技術」をマスター
演習
- S-99 - ナインティニンス・スカラ・プロブレム
- Scala Exercises - 人気のスカラ・コアンズをウェブ上で提供。Scala言語の基本をカバーする42のカテゴリに分類された数百の解決可能な演習を提供
- Exercism - Scala Exercises - コミュニティが中心となって開発されたScalaの練習問題
- Learn-by-doing functional programming course on Scala - 型クラス、ファンクター、アプリケイティブ、モンード、モンードトランスフォーマー、フリーモンードをカバー
チュートリアルと講座
- A Tour of Scala - Scalaのいくつかの核心的な言語概念についての小さな紹介
- Functional Programming in Scala - エプール(エコール・ポリテクニク・フェデラル・ドゥ・ラスーン)のマーチン・オーデルキーらが作成した、カウサーラ・スペシャライゼーション(5コース)
- Resources by Dr. Mark Lewis >> Website | Youtube Playlists
- Demos and Examples in Scala (Chinese) ★ 923 ⧗ 2 - repo of sample Scala library usage, written in Chinese
- Introduction to programming with dependent types in Scala - ディミトロ・ミティンによるビデオコース
- Scala Collections Cookbook - スケール・コレクションの導入。中国語で書かれたもの。
- Free Scala Courses - 無料のスケールコースを厳選したリスト。
- Clean Architecture Example - クリーンアーキテクチャを用いてスケールアプリケーションを開発するためのステップバイステップガイド。
商用講座
- Foundations of Functional Programming in Scala - 機能的原則、カスタムIO(効果)、機能設計をカバーするプロフェッショナルなビデオコース(演習付き)。
- Scala Algorithms - 純粋機能的スケールで実装されたほぼ100のアルゴリズム、テストケース、解説、ウェブベースのIDEを備えたコレクション。http4s & Scala.jsで構築。
コミュニティメンバーのブログ
- http://lihaoyi.com
- http://warski.org/blog
- https://degoes.net/articles
- http://eed3si9n.com/category/tags/scala
- https://danielwestheide.com/tags/scala
- https://kubuszok.com/tags/#scala
- http://debasishg.blogspot.com
- http://appliedscala.com/blog
- http://blog.higher-order.com
- http://ktoso.github.io/scala-types-of-types
- http://scalaprof.blogspot.com
- http://torre.me.uk/docs/scala
- https://alvinalexander.com
- https://blog.bruchez.name/search/label/scala
- https://github.com/lemastero/scala_typeclassopedia
- https://pchiusano.github.io
- https://beyondthelines.net
- https://manuel.bernhardt.io/blog
企業ブログ
- Functional Works / Learn - 機能プログラミングに特化した質の高いリソース
- http://allaboutscala.com/
- http://enear.github.io/
- https://blog.knoldus.com/tag/scala/
- https://blog.scalac.io/tags/Scala/
- https://blog.softwaremill.com/tagged/scala
- https://medium.com/disney-streaming/tagged/thisweekinscala
- https://www.codacy.com/blog/
- Scala Times - スケールに関する週刊ニュースレター
- 47 Degrees - スケールに関するニュース、アップデート、その他。
ポッドキャスト
- The Scala Logs - 開発者、オープンソース貢献者、専門家などにインタビューを行い、FP、スケール、オープンソース、その興味について話す。
- Scala Love - スケールプログラミング言語とそのコミュニティに関するポッドキャスト
- CoRecursive Interviews - ソフトウェア開発者への深掘りインタビュー、多くの場合スケールライブラリや機能プログラミングのテーマ。
- Scala for Fun & Profit - スケールのユーザーおよび企業へのインタビュー。
コミュニティ
- Scala Ukraine - ウクライナスケールコミュニティのテレグラムチャット
その他
- Programming Community Curated Resources for Learning Scala
- Scalera Blog - スケール言語とその環境(ハウツー、良い慣習、ヒントなど)に関するブログ。スペイン語と英語で週刊投稿。
- Scala @LibHunt - コミュニティが運営する、有用なスケールライブラリ、フレームワーク、ソフトウェアのリスト
- List of Scala Online Courses - Classpertによる無料および有料のオンラインスケールコースのリスト。オンラインコース検索および比較サイト。
- Scala Days Conferences - スケール・デイズ会議で録画されたフルビデオを提供するユーチューブチャンネル。
- CA Art - 中級レベルでスケールを学ぶために、セルオートマトンを実験する小さなプロジェクト