Repolode
oneo-me

oneo-me/nsgo

アプリのロジックをGoで実行し、各プラットフォームが独自のネイティブビューで描画するクロスプラットフォームUIエンジン。

スター
198
フォーク
9
未解決の Issue
1
最終コミット
7 時間前

これは何?

NSGoを使うと、Goでユーザーインターフェースを構築できます。アプリのロジック、signals、memos、effectsで構成されるリアクティブグラフ、flexboxやgridによるレイアウトはすべてGoで実行されます。一方、各ターゲットプラットフォームは独自のネイティブビューとテキストで描画するため、独自のcanvasは使いません。これは、同じ設計思想を持つRust製フレームワークNative Shell(NSH)のGo移植版です。

iOS、Android、macOS、Windows、Linux、Webを対象とし、テキスト、画像、canvas、シェーダー、アニメーション、サービス、スタイルを持たない基本コンポーネントに対応しています。アプリはGo、またはTailwind CSSクラスでスタイルを指定したTSXで記述できます。nsgoコマンドでアプリのビルド、実行、テストができ、開発時のホットリロード、プラットフォームごとのリリースパッケージ作成に対応します。また、ヘッドレステストに加えて、スクリーンショットを使った実ウィンドウでのテストも行えます。

プロジェクトはまだ初期段階で、安定版リリースも安定したAPIもありません。既存のiOS、Android、Go製デスクトップアプリへのNSGoビューの埋め込みにも対応しています。

主な機能

  • 01Goで記述する、signals、memos、effectsを使ったリアクティブな状態管理
  • 02各プラットフォームのネイティブビューで描画するflexboxとgridのレイアウト
  • 03iOS、Android、macOS、Windows、Linux、Webに対応
  • 04Tailwind CSSクラスを使ったTSXでアプリを記述可能
  • 05ヘッドレステストと、スクリーンショットを使った実ウィンドウでのテスト
  • 06開発時のホットリロードと、プラットフォームごとのリリースパッケージ作成

ユースケース

  • 各プラットフォームでネイティブな見た目のクロスプラットフォームアプリをGoで開発する
  • 既存のiOS、Android、デスクトップアプリにGo製UIを埋め込む
  • Rustを書かずにNSHのモデルを採用したいチーム

クイックスタート

  1. 1

    要件を確認します:Xcode をインストールした macOS と Go 1.26 以降

  2. 2

    nsgo ツールをモジュールに追加します

    go get -tool github.com/oneo-me/nsgo/cmd/nsgo
  3. 3

    dev コマンドでアプリを一度実行します

    go tool nsgo dev

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

  • NSGo はまだ初期段階で、リリースも安定した API もありません。
  • すべてのターゲットで開発するには、Xcode をインストールした macOS が必要です。
  • Android には adb、x86_64 エミュレーターには Android NDK など、一部のターゲットでは追加ツールが必要です。

収録されている特集

トピック

よくある質問

nsgo とは?
アプリのロジックをGoで実行し、各プラットフォームが独自のネイティブビューで描画するクロスプラットフォームUIエンジン。 NSGoを使うと、Goでユーザーインターフェースを構築できます。アプリのロジック、signals、memos、effectsで構成されるリアクティブグラフ、flexboxやgridによるレイアウトはすべてGoで実行されます。一方、各ターゲットプラットフォームは独自のネイティブビューとテキストで描画するため、独自のcanvasは使いません。これは、同じ設計思想を持つRust製フレームワークNative Shell(NSH)のGo移植版です。
nsgo は無料で使えますか?ライセンスは?
nsgo は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
nsgo は今もメンテナンスされていますか?
活発にメンテナンス中。nsgo の最終コミットは 2026年11月6日 です。
nsgo は何に使えますか?
各プラットフォームでネイティブな見た目のクロスプラットフォームアプリをGoで開発する 既存のiOS、Android、デスクトップアプリにGo製UIを埋め込む Rustを書かずにNSHのモデルを採用したいチーム
nsgo のインストール方法は?
要件を確認します:Xcode をインストールした macOS と Go 1.26 以降 nsgo ツールをモジュールに追加します: go get -tool github.com/oneo-me/nsgo/cmd/nsgo dev コマンドでアプリを一度実行します: go tool nsgo dev
nsgo はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/oneo-me/nsgo

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

関連プロジェクト