ネイティブの描画エンジンを使い、ReactやVue、SvelteなどのWebフロントエンドを備えたクロスプラットフォームのデスクトップアプリを構築するGoフレームワーク。
maxence-charriere/go-app
Goだけで宣言的なコンポーネントベースのUIを書き、WebAssemblyを使ってPWAを構築できるGoパッケージ。
- スター
- 8,973
- フォーク
- 406
- 未解決の Issue
- 52
- 最終コミット
- 24 時間前
これは何?
go-appを使うと、GoでPWAを構築できます。UIは再利用可能なコンポーネントとして記述し、Goのコード内でHTML要素を直接作成・組み合わせるため、フロントエンドに別途JavaScriptやテンプレート言語を用意する必要はありません。GoのコードはWebAssemblyにコンパイルされ、ブラウザ上で動作します。
このパッケージは標準のGo net/httpの仕組みに従っているため、ほかのGo製Webサーバーと同様に、http.Handleやhttp.ListenAndServeを使ってアプリを配信できます。作成したアプリは独立したウィンドウで動作でき、オフラインモードに対応し、SEOにも配慮して設計されています。コンポーネント間のルーティングにはapp.Routeを使います。
このプロジェクトにはGo 1.18以降が必要で、Go moduleとしてインストールします。ドキュメントサイトgo-app.devでは、宣言的な構文と入門ガイドを確認できます。
主な機能
- 01宣言的なコンポーネントベースの構文を使い、GoだけでUIを構築できます。
- 02GoをWebAssemblyにコンパイルして、ブラウザ上で実行できます。
- 03アプリの配信には標準のGo net/httpインターフェースを使用します。
- 04PWAとして、オフラインモードと独立したウィンドウでの実行に対応します。
- 05app.Routeによるコンポーネント間のルーティングを提供します。
ユースケース
- すべてをGoで書きたいチーム向けのWebまたはPWAフロントエンドの構築。
- 検索エンジンにインデックスされる必要がある、インストール可能でオフライン対応のWebアプリの作成。
- バックエンドサーバーとブラウザ側のUIでGoの型やロジックを共有する用途。
クイックスタート
- 1
プロジェクトフォルダーでGoモジュールを初期化します
go mod init - 2
go-appパッケージをインストールします
go get -u github.com/maxence-charriere/go-app/v11/pkg/app - 3
最初のアプリを作成するには、go-app.devの「Getting Started」ガイドに従ってください
トピック
よくある質問
- go-app とは?
- Goだけで宣言的なコンポーネントベースのUIを書き、WebAssemblyを使ってPWAを構築できるGoパッケージ。 go-appを使うと、GoでPWAを構築できます。UIは再利用可能なコンポーネントとして記述し、Goのコード内でHTML要素を直接作成・組み合わせるため、フロントエンドに別途JavaScriptやテンプレート言語を用意する必要はありません。GoのコードはWebAssemblyにコンパイルされ、ブラウザ上で動作します。
- go-app は無料で使えますか?ライセンスは?
- go-app は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- go-app は今もメンテナンスされていますか?
- 活発にメンテナンス中。go-app の最終コミットは 2026年10月21日 です。
- go-app は何に使えますか?
- すべてをGoで書きたいチーム向けのWebまたはPWAフロントエンドの構築。 検索エンジンにインデックスされる必要がある、インストール可能でオフライン対応のWebアプリの作成。 バックエンドサーバーとブラウザ側のUIでGoの型やロジックを共有する用途。
- go-app のインストール方法は?
- プロジェクトフォルダーでGoモジュールを初期化します: go mod init go-appパッケージをインストールします: go get -u github.com/maxence-charriere/go-app/v11/pkg/app 最初のアプリを作成するには、go-app.devの「Getting Started」ガイドに従ってください
- go-app はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/maxence-charriere/go-app
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
WebAssemblyにコンパイルしてインタラクティブなクライアントサイドWebアプリを構築するRustフレームワーク。HTML向けのJSX風マクロを備えています。
単一のコードベースからデスクトップ・モバイルアプリを開発できる、Go向けクロスプラットフォームGUIツールキット兼アプリAPI。
FFmpegをWebAssemblyとJavaScriptに移植し、ブラウザーで動画や音声の録画、変換、ストリーミングを可能にします。
実機のOSを起動できる、実行時にマシンコードをWebAssemblyへ変換してブラウザー上で動作するx86 PCエミュレーター。
アプリやAIエージェントのコードを、高速で軽量なサンドボックス環境で実行するWebAssemblyランタイムとCLI。