Repolode
digitallyinduced

digitallyinduced/ihp

ルーティング、ビュー、PostgreSQLモデル、開発用IDEを標準搭載した、型安全なHaskell向けWebフレームワーク。

スター
5,379
フォーク
226
未解決の Issue
287
最終コミット
20 時間前

これは何?

IHPはHaskellで書かれたフルスタックWebフレームワークです。ルーティング、コントローラー、型安全なHTMLテンプレート(HSX)、PostgreSQLのデータベースモデル、フォーム検証、認証をひとまとめにしており、一般的なWebアプリの機能が最初からそろった状態で開発を始められます。

開発用IDEには、GUIまたは生のSQLでテーブルを編集できるスキーマデザイナー、コントローラー・ビュー・マイグレーションのコードジェネレーター、ライブリロード対応の開発サーバーが含まれます。Auto Refreshを使うと元データの変更に応じてビューが更新され、datasyncパッケージではWebSocket経由のリアルタイム同期を利用できます。

NixがGHCやPostgreSQLを含むツールチェーンを管理するため、`devenv up`でプロジェクト環境をセットアップできます。デプロイには、NixOSベースのツールを使ってSSH経由で宣言的なサーバー設定を適用できます。Dockerとベアメタルへのデプロイにも対応しています。

主な機能

  • 01コンパイル時にチェックされる、型安全なルーティング、クエリ、HSX HTMLテンプレート。
  • 02コントローラー、ビュー、マイグレーション向けのビジュアルスキーマデザイナーとコードジェネレーター。
  • 03ライブリロード対応の開発サーバーと、ビューをリアルタイムに更新するAuto Refresh。
  • 04サインアップ、ログイン、フォーム、バリデーションを標準搭載。
  • 05GHCとPostgreSQLを含む、Nixで管理された開発環境。
  • 06Let's EncryptによるTLSに対応した、NixOSベースの宣言的デプロイ。

ユースケース

  • ボイラープレートを減らして、Haskellでデータベース連携Webアプリを開発する。
  • マシン間で共有できる、再現性の高い開発環境を求めるチーム。
  • PostgreSQLのデータに連動したリアルタイムUI更新が必要なプロジェクト。
  • 生成コードをコンパイラーでチェックしながら、AI支援機能を備えたWeb機能をプロトタイピングする。

クイックスタート

  1. 1

    Nixでプロジェクトジェネレーターをインストールする

    nix profile install nixpkgs#ihp-new
  2. 2

    新しいプロジェクトを作成する

    ihp-new myproject
  3. 3

    プロジェクトに移動して開発環境を起動する

    cd myproject && devenv up

使う前に知っておきたいこと

  • NixとHaskellが必要なため、Haskellに不慣れな開発者にとって学習のハードルが高いです。

収録されている特集

トピック

よくある質問

ihp とは?
ルーティング、ビュー、PostgreSQLモデル、開発用IDEを標準搭載した、型安全なHaskell向けWebフレームワーク。 IHPはHaskellで書かれたフルスタックWebフレームワークです。ルーティング、コントローラー、型安全なHTMLテンプレート(HSX)、PostgreSQLのデータベースモデル、フォーム検証、認証をひとまとめにしており、一般的なWebアプリの機能が最初からそろった状態で開発を始められます。
ihp は無料で使えますか?ライセンスは?
ihp は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ihp は今もメンテナンスされていますか?
活発にメンテナンス中。ihp の最終コミットは 2026年11月6日 です。
ihp は何に使えますか?
ボイラープレートを減らして、Haskellでデータベース連携Webアプリを開発する。 マシン間で共有できる、再現性の高い開発環境を求めるチーム。 PostgreSQLのデータに連動したリアルタイムUI更新が必要なプロジェクト。 生成コードをコンパイラーでチェックしながら、AI支援機能を備えたWeb機能をプロトタイピングする。
ihp のインストール方法は?
Nixでプロジェクトジェネレーターをインストールする: nix profile install nixpkgs#ihp-new 新しいプロジェクトを作成する: ihp-new myproject プロジェクトに移動して開発環境を起動する: cd myproject && devenv up
ihp はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/digitallyinduced/ihp

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト