このページの内容

Awesome Vala

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

目次

アプリ

暗号とセキュリティ

  • Integrity Check - ファイルの検証サム(MD5、SHA1、SHA256)を取得し、作成者が提供した検証サムと比較するために設計されたVala・GTK製Linuxアプリケーション。

デザインツール

  • Akira - ValaとGTKで構築されたUI・UXデザイン向けネイティブLinuxアプリ。
  • Birdfont - TTF、EOT、SVG、BIRDFONT形式のフォントを作るフォントエディター。

開発ツール

ゲーム

  • GameHub - すべてのゲームを統合するライブラリ。
  • High Score (GNOME Games) - GNOMEデスクトップ向けレトロゲームアプリケーション。
  • Sage - elementary OS向けに作られたコード解読ゲーム。
  • Warble - ValaとGtkで構築されたelementary OS向けネイティブLinux単語当てゲーム。

インターネットブラウザー

  • Starfish - elementary OS向けGeminiブラウザー。

音楽

  • g4music - GTK4で書かれた、美しく高速で流麗な軽量音楽プレイヤー。

パーソナライズ

  • Korembi - Linux向けの美しくカスタマイズ可能な壁紙マネージャー。

生産性

  • Annotator - よりよいコミュニケーションのために画像へ注釈を付ける。
  • Badger - 長時間座って画面を見続けないよう自分に知らせる。
  • Blackbox - 美しいGTK 4ターミナル。
  • Dino - GTK+/Valaを使うモダンなJabber/XMPPクライアント。
  • Flowtime - GTK4 Libadwaitaのポモドーロタイマー。
  • geary - GNOME 3デスクトップ向けに会話を中心として構築されたメールアプリケーション。
  • GNOME Calculator - GNOMEデスクトップ向け電卓アプリ。
  • graphui - graphvizに基づくグラフ可視化。
  • Ideogram - 絵文字ピッカーアプリ。
  • Minder - マインドマッピングアプリケーション。
  • Notejot - とてもシンプルなノートアプリ。
  • Notes-up - Markdownノートエディター・マネージャー。
  • Outliner - アウトラインを簡単に書く。
  • Paper - Markdownでノートを取る。
  • pdfpc - PDFファイル用マルチモニター対応GTKプレゼンターアプリケーション。
  • Planify - GNU/Linux向けに設計されたTodoist対応タスクマネージャー。
  • Spice-up - モダンなLinuxデスクトップ向けプレゼンテーションアプリ。
  • TextShine - テキストを変換・操作する。
  • TextSnatcher - 画像から簡単にテキストをコピーする。

システムツール

  • Connections - GNOMEデスクトップ環境向けリモートデスクトップクライアント。
  • elementary OS App Center - elementary OS向けの、払えるだけ支払うアプリストア。
  • Man Helper - manページ向けの軽量GTKフロントエンド。
  • Monitor - プロセスを管理し、システムリソースを監視する。
  • Peek - 使いやすいインターフェースを持つシンプルなアニメーションGIFスクリーンレコーダー。
  • SwayNotifiationCenter - SwayWM向けのシンプルなGTKベース通知デーモン。

仮想化

  • GNOME Boxes - 仮想マシンへアクセスするシンプルなGNOME 3アプリケーション。

天気

  • Meteo - OpenWeatherMap APIを使うGTK天気アプリ。

CLIツール

  • EasyDocs - 開発者ドキュメントをすばやく読む。
  • Spider - HTML5サイト構造をすばやく生成する。
  • Valdo - テンプレートから新しいValaプロジェクトを作る。
  • Vamposer - Composer/Go modulesに着想を得て、Mesonサブプロジェクトと統合されたValaプロジェクト向け依存関係マネージャー。

エディタープラグイン

  • Vala VSCode - Valaの基本的な自動補完・構文強調表示を有効にするVisual Studio Codeプラグイン。
  • Vala-TMBundle - Vala構文強調表示、コード補完などを提供するTextMateバンドル。Sublime Text 3でもこのプラグインを使える。
  • language-vala-modern - AtomでVala言語サポートを提供する。保守されていない「language-vala package」のフォーク。
  • Vala Syntax 4 Sublime Text - 構文強調表示を提供するSublime Text 3向け基本プラグイン。

言語サーバー

  • vala-language-server - Language Server仕様に従い、コード補完、フォーマット、構文強調表示などを提供することを目指す言語サーバー。

ライブラリ

コマンドライン

  • console-command - コマンドライン引数をCommandパターンオブジェクトへルーティングするライブラリ。現在の実装は継承またはクロージャーによる拡張を扱う。

並行処理

  • gpseq - ValaとGObject向け並列処理ライブラリ。

暗号とセキュリティ

  • GnuTLS - SSL、TLS、DTLSプロトコルとその周辺技術を実装する安全な通信ライブラリ。安全な通信プロトコルにアクセスする単純なAPIと、X.509、PKCS #12、その他必要な構造の解析・書き込みAPIを提供する。

データ構造とデータ型

  • Graphene - グラフィックライブラリ向けの薄い型レイヤー。点、三角形、長方形、四角形、四元数、ベクトル、行列、球など、3D変換に必要な共通型を提供する。
  • Libgee - 一般的に使われるデータ構造(リスト、マップ、キュー、ツリーなど)向けのGObjectベースのインターフェース・クラスを提供するユーティリティライブラリ。
  • Numeric-GLib - GCC拡張を通じ、GLib(およびVala)向けの数値データ型を集めたもの。128ビット整数・浮動小数点、複素型、ベクトル化操作、10進型を含む。
  • United - キログラム、メートルなどの単位を操作するライブラリ。
  • vul (Vala Utility Libraries) - テキストストリーム処理(入出力)、JSONシリアライズ・デシリアライズ、アーカイブ圧縮・展開を追加するVala向けユーティリティライブラリ群。

データベース

グラフィックスライブラリ

  • Babl - 動的な任意形式間ピクセルフォーマット変換ライブラリ。
  • Cairo - 複数の出力デバイスをサポートする2Dグラフィックスライブラリ。Valaで得られる実質的な既定ライブラリ。
  • GEGL - 浮動小数点処理と非破壊画像処理機能を提供する、データフローベースの画像処理フレームワーク。「画像のためのリアクティブプログラミング」と考えられる。
  • GRX - シンプルなグラフィックスディスプレイ(1ビットディスプレイやAdafruitのPiTFTディスプレイなど)向けグラフィックスライブラリ。キーボード、マウス、ジョイスティック、タッチスクリーン入力もサポートする。
  • GSVG (GObject SVG Library) - W3C標準APIのGLib GObject実装を提供する取り組み。
  • live-chart - Cairoに基づくVala・GTK3向けリアルタイムチャートライブラリ。
  • SDL2 - OpenGL、Direct3D、Vulkanを通じて、音声、キーボード、マウス、ジョイスティック、グラフィックスハードウェアへの低水準アクセスを提供するクロスプラットフォーム開発ライブラリ。バインディングはValaに含まれ、Vala 0.52から利用可能。

GUIプログラミング

  • GTK - ValaにおけるGUI開発の事実上の標準ライブラリ。バインディングはvalaコンパイラーに含まれる。

IoCと依存性注入

  • Vadi - Vala開発者が依存性注入を使いやすくするために開発されたIoCコンテナ。

マルチメディア処理

  • GStreamer - マルチメディアアプリケーションを作るための強力なフレームワーク。

数値計算

  • balistica - オープンソースの弾道シミュレーションライブラリ。完全な計算機はこちら
  • vast - Valaによる生成モデリングのプロジェクト。TensorFlowをValaで書き直したものと考えられる。

テンプレート

  • Compose - Vala向け関数型テンプレートライブラリ。
  • template-glib - テンプレートからGObject Introspectionを呼び出せるテンプレート展開ライブラリ。

テキスト処理

  • libcmark-vapi - Cで書かれたCommonMarkの解析・レンダリングライブラリlibcmark向けValaバインディング。

Web開発

  • Ambition - MVCパターンを念頭にValaで書かれたWebフレームワーク。やや保守されていない(内部でValumを使うようリファクタリングし、Mesonへ移行できるかもしれない)。
  • Valum - Valaだけで書かれたWebマイクロフレームワーク。

XMLとデータシリアライゼーション

  • GXML - XMLを操作するGObject APIと、GObjectからXMLへのSerializableフレームワーク。
  • Json-GLib - GLibとGObjectを使った完全なJSONパーサー・ジェネレーターを実装し、JSONをGLibデータ型と統合する。
  • libyaml-glib - libyamlのGLibバインディングと、YAMLを理解するGObjectビルダー。