-
-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Kouji Takao edited this page Jan 3, 2026
·
2 revisions
Welcome to the smalruby3-develop wiki!
このWikiは、Smalruby 3.0の開発環境に関するドキュメントを提供します。
Smalruby 3.0 は、MIT Scratch 3.0をベースにしたRuby版ビジュアルプログラミング環境です。ブロックプログラミングとRubyコードの両方をサポートし、初心者から上級者まで幅広く使用できます。
- ビジュアルプログラミング: ブロックを組み合わせてプログラムを作成
- Rubyコード: ブロックとRubyコードを相互変換
- 2Dゲーム開発: smalruby3ライブラリによるゲーム開発
- リアルタイム通信: Mesh v2拡張機能による複数インスタンス間の通信
- 競技プログラミング: smalruby-koshienによるプログラミングコンテスト環境
smalruby3-developは、複数のサブモジュールで構成されています。各サブモジュールの役割は以下の通りです。
- 役割: Reactベースのウェブインターフェース
- 技術: React, Redux, Webpack
- 説明: Scratch 3.0のGUIをベースに、Ruby統合機能を追加したフロントエンド
-
主な機能:
- ブロックエディタ
- Rubyコードエディタ(Ace Editor)
- プロジェクト管理
- 拡張機能ライブラリ
- 役割: JavaScriptベースの仮想マシン
- 技術: JavaScript
- 説明: ブロックとRubyコードを実行する仮想マシン。Opalトランスパイラを使用してRubyコードをJavaScriptに変換
-
主な機能:
- ブロック実行エンジン
- Ruby/JavaScript相互変換
- 拡張機能システム
- スプライト・ステージ管理
- 役割: プログラミング競技環境(Rails)
- 技術: Ruby on Rails, PostgreSQL
- 説明: スモウルビー甲子園(プログラミングコンテスト)のバックエンドシステム
-
主な機能:
- AIプログラム管理
- 対戦システム
- ゲームエンジン
- ユーザー管理
- 役割: Mesh v2 AWS インフラストラクチャ
- 技術: AWS CDK (TypeScript), AWS AppSync, DynamoDB
- 説明: 複数のSmalrubyインスタンス間でリアルタイムにデータを共有するためのサーバーレスバックエンド
-
主な機能:
- GraphQL API (AWS AppSync)
- リアルタイム通信 (WebSocket Subscriptions)
- グループ管理
- データ同期
詳細ドキュメント: Mesh v2 統合ガイド
- 役割: Smalrubyインフラストラクチャ
- 技術: AWS CDK (TypeScript)
- 説明: Smalruby関連サービスのインフラストラクチャコード
- 役割: Ruby 2Dゲーム開発ライブラリ
- 技術: Ruby
- 説明: Smalruby 3.0でゲーム開発を行うためのRubyライブラリ。スプライト、ステージ、イベント処理などのAPI を提供
-
主な機能:
- スプライト管理
- ステージ管理
- 衝突判定
- イベント処理
- スモウルビー甲子園 API
- 役割: DXRuby SDL ライブラリ
- 技術: Ruby, SDL
- 説明: DXRubyのSDL実装。2Dゲーム開発のための低レベルAPIを提供
- Docker Desktop
- Git
# リポジトリをクローン(--recursiveでサブモジュールも取得)
git clone --recursive https://github.com/smalruby/smalruby3-develop.git
cd smalruby3-develop
# Dockerイメージをビルド
docker compose build gui
# GUIを起動
docker compose up guiブラウザで http://localhost:8601 を開くとSmalruby 3.0が表示されます。
詳細は README.md を参照してください。
- Mesh v2 統合ガイド: Mesh v2拡張機能の統合方法、デプロイ手順、API概要
- infra/mesh-v2/docs/api-reference.md: GraphQL API完全リファレンス
- infra/mesh-v2/docs/architecture.md: システムアーキテクチャ詳細
- gui/smalruby3-gui/README.md: GUI開発ガイド
- gui/scratch-vm/README.md: VM開発ガイド
- gui/smalruby-koshien/README.md: スモウルビー甲子園開発ガイド
各サブモジュールは独立したリポジトリとして管理されています。コントリビューションは各リポジトリで受け付けています。
- scratch-vm: https://github.com/smalruby/scratch-vm
- smalruby3-gui: https://github.com/smalruby/smalruby3-gui
- smalruby-koshien: https://github.com/smalruby/smalruby-koshien
- mesh-v2: https://github.com/smalruby/smalruby3-develop/tree/main/infra/mesh-v2
- smalruby3: https://github.com/smalruby/smalruby3
- dxruby_sdl: https://github.com/smalruby/dxruby_sdl
Smalruby 3.0は、MIT Scratch 3.0から派生したプロジェクトであり、BSDライセンスの下で配布されています。詳細は各サブモジュールのLICENSEファイルを参照してください。
最終更新: 2026-01-03 メンテナ: Smalruby Development Team