このプロジェクトについて

go-appは、Goプログラミング言語とWebAssembly(Wasm)を使用してプログレッシブウェブアプリ(PWA)を構築できるようにするGoパッケージです。HTML要素を作成および構成するための宣言的な構文を完全にGoコード内で提供し、開発者がGoエコシステムから離れることなく再利用可能なコンポーネントベースのUI要素を記述できるようにします。 主な機能は次のとおりです。 - 宣言的なUI構文:コンポーネントはapp.Compoを埋め込んだGo構造体として定義され、app.UI要素を返すRender()メソッドを持ちます。この構文は、条件付きレンダリング(app.If/app.Else)、イベント処理(OnChange、ValueTo)、および標準のHTML要素作成(Div、H1、P、Input、Textなど)をサポートしています。 - 標準のGo HTTP統合:アプリはGoのnet/httpパッケージのインターフェースに準拠しており、コンポーネントルーティングにはapp.Route、HTTPルーティングにはapp.Handlerを使用するため、他のGo HTTPハンドラと一緒に簡単に提供できます。 - プログレッシブウェブアプリ機能:標準で、アプリは独自のウィンドウでの実行、オフラインモードをサポートし、SEOに適しています。 - 要件:Go 1.18以降とGoモジュール。 このプロジェクトは、GitHub Actions CI、Go Report Cardのカバレッジ、Open Collectiveを通じてサポートされる貢献者のコミュニティによって積極的にメンテナンスされています。ドキュメントはgo-app.devでホストされており、それ自体もgo-appで構築されています。go-appで構築された注目すべきプロジェクトには、Lofimusic.app、Murlok.io、およびliwascがあります。