
2026/09/23 4:42
TypeScript と CSS で書かれたネイティブアプリ
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
GeaStack 例文集は、Gea シミュレータのための重要なアプリギャラリーとして機能し、Web ブラウザ、ESP32 などの埋め込みデバイス、GeaOS、Apple ターゲット、マーケティングデモをカバーしています。コア構造は、apps/ ディレクトリ内にある小規模なパッケージ(TSX 構文を使用)と、tools/dialer-browser(ダイアラーワークフロー用)といったツールによって支えられており、すべては docs/ でドキュメント化されています。開発ワークフローでは、専用フォルダ内でチェック(
npm check)、ビルド(npm build)、テスト(npm test)を実行し、シミュレータが GEA_APPS_ROOT 環境変数または --app-dir CLI フラグを通じてアプリを読み込むことで駆動されます。各機能性アプリは、アプリの ID、名前、エントリポイント、ランタイム、サポートされるターゲット(例:web、esp32、geaos)を定義する特定の gea フィールドを含む package.json が必要です。デプロイメントは npx gea flash CLI ツールによって簡素化されています。エコシステムの健全性を維持するため、ガイドラインでは共有 API を使用した小規模でテスト済みパッケージおよび更新されたドキュメントの推奨がなされています。重要な法的区別として、このリポジトリはオープンソース開発のために MIT ライセンスを使用していますが、プロプライエタリなボード機能(targets または @geastack/chips を通じて)を活用した製品の出荷には、GPL-3.0-only 条項に基づいた商業合意が必要です。本文
GeaStack サンプルアプリケーションとツールのガイド
このリポジトリは、シミュレーター、埋め込みターゲット、GeaOS、Apple ターゲット、VS Code/Cursor の拡張機能、およびマーケティングデモに利用されるサンプルアプリケーションのコレクションです。
各サンプルは、
package.json に gea マニフェストを含んだ小規模なパッケージとして構成されています。
リポジトリ構成の概要
| パス | 目的 |
|---|---|
| Gea アプリケーションのコレクション。多くのアプリが Web、ESP32、または GeaOS をターゲットとした TSX アプリです。 |
| アプリのマニフェスト、ターゲット互換性情報、スクリプト、ランチャーメタデータの記載場所です。 |
| 通話ワークフロー向けの小型なブラウザサイドヘルパーツールです。 |
| サンプルコレクションのワークスペースマーカーとして機能します。 |
| カタログとコントリビューションガイドが格納されています。 |
クイックスタート
個別サンプルを検証するには、以下の手順を実行してください。
cd apps/watch npm install npm run check npm run build
テストの実行
一部のサンプルには、レイアウトやデバイスのセットアップ確認を目的としたテストが含まれています。アプリフォルダ内で実行します:
npm test
Web ループの制御
Web ループはシミュレーター(別リポジトリ:
geastack/simulator)から制御されます。
- スクリプトは、デフォルトでは現在のリポジトリまたはユーザー固有の場所を基に、
フォルダを読み取ります。apps - 環境変数
を使用するか、コマンドライン引数GEA_APPS_ROOT
を渡す必要があります(デフォルト設定はありません)。--app-dir - シミュレーターとサンプルリポジトリは、物理的に隣接する必要はありません。
開発ループ
# シミュレーターから起動 (GEA_APPS_ROOT は必須) cd /path/to/simulator GEA_APPS_ROOT=/path/to/examples ./targets/web/dev-web.mjs watch
ビルドと実行
# Web アプリケーションのビルド (watch モード) GEA_APPS_ROOT=/path/to/examples ./targets/web/build-web.sh watch # 特定のアプリケーションを指定して実行 ./targets/web/dev-web.mjs --app-dir /path/to/examples/apps/watch
Gea CLI を使用してフラッシュ処理
互換性の高いボードへのフラッシュには以下のコマンドを使用します。
npx gea flash watch --board <alias> npx gea flash watch --board <alias> --monitor
ドキュメント
: サンプルのカテゴリー、ターゲット互換性、マニフェストの使用方法について記載されています。docs/EXAMPLE-CATALOG.md
: サンプルアプリケーションを追加、テスト、維持する方法が説明されています。docs/DEVELOPMENT.md
アプリケーション・マニフェストの概要
ビルド可能なすべてのアプリケーションには、
gea フィールドを含む package.json が必要です。
{ "gea": { "id": "watch", "name": "Watch", "entry": "index.tsx", "runtime": "gea", "targets": { "web": true, "esp32": true, "geaos": true } } }
このマニフェストは、シミュレーター、埋め込みボードスクリプト、GeaOS、Apple ターゲット、および IDE 拡張機能によって消費されます。内容を正確に保ってください。
保守に関する注意事項
- サンプルは小さく、焦点を絞ったものとしてください。優れたサンプルは特定の動作を明確に示します。
- ターゲット固有のハックよりも、共有されたフレームワーク API を優先してください。
- 非自明なロジック、物理演算、パース処理を含むサンプルには必ずテストを追加してください。
- アプリケーションの追加、名前変更、非表示、またはターゲット互換性の変更時は、カタログドキュメントを更新してください。
ライセンス
本プロジェクトは MIT ライセンス(
LICENSE ファイル参照)の下に公開されています。
- クローズドソース製品の配布: MIT ライセンスに基づき、これらを使って構築したクローズドソース製品を配布することも可能です。
- 例外事項: GeaStack において別のライセンス (
) で公開されているのは、埋め込みボードサポートコード(GPL-3.0-only
とtargets
)のみです。@geastack/chips - ファームウェア配布: これらのツールを通じてクローズドソースファームウェアを配布する場合、商業ライセンスが必要となります。
商取引条件やサポート、ホストされたビルドについてご質問の際は、
contact@geastack.com までお問い合わせください。