迅速な開発と、すっきりとした実用的な設計を促す高水準のPython Webフレームワーク。
ash-project/ash
リソース、アクション、ポリシーを中心としたアプリケーションを構築するための、宣言的で拡張性の高いElixirフレームワーク。
- スター
- 2,540
- フォーク
- 463
- 未解決の Issue
- 104
- 最終コミット
- 13 時間前
これは何?
Ashは、属性、リレーションシップ、アクション、バリデーション、認可ルールを持つリソースとしてドメインを記述する、Elixirアプリケーション構築用フレームワークです。Ashが宣言内容をもとに周辺の処理の多くを担うため、開発者は定型的なデータアクセスやビジネスロジックのコードを書く時間を減らせます。
リソースはSparkベースのDSLで定義し、ドメインごとにまとめます。Ashは複数のデータレイヤーに対応しており、AshPostgres経由のPostgreSQL、AshSqlite経由のSQLiteに加え、ETSとMnesiaを標準で利用できます。JSON:API、GraphQL、認証、Obanによるバックグラウンドジョブ、ステートマシン、アーカイブ機能を追加する関連パッケージもあります。また、構造化出力、MCP、ベクトル化に対応するAshAIパッケージも用意されています。
このフレームワークは、アクション、認可のためのポリシー、アクターといった明示的な概念を中心に構成されており、振る舞いを一か所で把握できます。Ashには、導入チュートリアル、トピック別ガイド、手順をまとめたレシピ、DSLの自動生成リファレンスが用意されています。
主な機能
- 01属性、リレーションシップ、アクション、バリデーションをDSLで宣言してリソースを定義する。
- 02リソースをドメインごとにまとめ、PostgreSQLやSQLiteなど複数のデータレイヤーを利用する。
- 03ポリシーとアクターを使って認可を定義する。
- 04JSON:APIやGraphQL向けの関連パッケージを使ってAPIを公開する。
- 05エコシステムのパッケージを通じて、認証、バックグラウンドジョブ、ステートマシン、アーカイブ機能を追加する。
ユースケース
- 豊富なドメインモデルと一貫した認可ルールを備えたPhoenix Webアプリケーションを構築する。
- リソースベースのバックエンドをJSON:APIまたはGraphQLサービスとして公開する。
- 既存のビジネスエンティティにバックグラウンドジョブやステートマシンを追加する。
- Elixirのコードベースで構造化出力やMCPを利用するAI機能を開発する。
トピック
よくある質問
- ash とは?
- リソース、アクション、ポリシーを中心としたアプリケーションを構築するための、宣言的で拡張性の高いElixirフレームワーク。 Ashは、属性、リレーションシップ、アクション、バリデーション、認可ルールを持つリソースとしてドメインを記述する、Elixirアプリケーション構築用フレームワークです。Ashが宣言内容をもとに周辺の処理の多くを担うため、開発者は定型的なデータアクセスやビジネスロジックのコードを書く時間を減らせます。
- ash は無料で使えますか?ライセンスは?
- ash にはライセンスが明記されていません。コードは公開されていますが、ライセンスがない場合は再利用の許諾がないため、利用前に作者に確認することをおすすめします。
- ash は今もメンテナンスされていますか?
- 活発にメンテナンス中。ash の最終コミットは 2026年10月22日 です。
- ash は何に使えますか?
- 豊富なドメインモデルと一貫した認可ルールを備えたPhoenix Webアプリケーションを構築する。 リソースベースのバックエンドをJSON:APIまたはGraphQLサービスとして公開する。 既存のビジネスエンティティにバックグラウンドジョブやステートマシンを追加する。 Elixirのコードベースで構造化出力やMCPを利用するAI機能を開発する。
- ash はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/ash-project/ash
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ルーティング、ORM、マイグレーション、キュー、リアルタイムブロードキャストを備えた、表現力豊かな構文のPHP Webアプリケーションフレームワーク。
Ruby on Railsは、Rubyでデータベース連携型Webアプリケーションを構築するためのフルスタックMVCフレームワークです。
最小限のセットアップで、本番運用に適したSpringベースのアプリケーションやサービスを構築できる、独自の方針を持つJavaフレームワークです。
TypeScriptまたはJavaScriptで、効率的かつスケーラブルなサーバーサイドアプリケーションを構築するための、進化型Node.jsフレームワークです。
Springに着想を得た、DI、オートコンフィグレーション、Web MVC、NettyベースのHTTPサーバー、データアクセスを備えるモジュール型Javaアプリケーションフレームワーク。