monthly gimite

試験運用中。

Yuyake - ブラウザ上でRubyでWebアプリ開発

色々未完成なのですが、放置気味だったのでとりあえず現状を公開することにしました。

Yuyake

ブラウザ上でRubyでWebアプリを開発してそのまま実行できる、というものです。フレームワークSinatraのみをサポートしてます。利用にはGoogleアカウント*1が必要です。

おことわり

実験的なサービスなので、突然落ちたり、サービス終了したり、データが消えたりする可能性があります。また、Yuyake上の全アプリケーションがAppEngineの無料クオータを共有することになるので、誰かが使いすぎるとサービス全体が落ちます :) まあ落ちてもいいのですが、わざと負荷をかけないようにしてください。

そんな感じでいまいち実用的ではないのですが、AppEngineで動くので、自分のアカウントで自分専用のやつを立ち上げることができます(ソースがあれば。近日公開予定)。その方法なら、使い物になるかもしれません。

利用可能なRubyの機能

FileとかSocketとか以外のRubyの組み込みクラス/標準ライブラリは使えるはずですが、サンドボックスのせいでところどころ動きません。データベースは現状使えませんが、Yuyake::SStore, Yuyake::AStoreというkey/valueストアが使えます。自動生成されるソースのコメント参照。

実装

Cloud9 IDE(これはnode.js用)のRuby版(&しょぼい版)みたいな感じです。Herokuが昔Railsで似たようなことをやっていた気がするのですが、今見るとローカルで書いてアップロードする方法しか見当たらない…。

実装はAppEngine+JRubyです。*2ユーザのコードはjavasandというJRubyサンドボックスの中に入れて実行しています。

エディタの部分はCloud9 IDEのエディタ部分が単独で公開されているので、それを使っています。各種言語のシンタックスハイライトとかオートインデントとかしてくれて、いい感じです。

*1:Google+アカウントではない。

*2:たまにやけに反応が遅いのはAppEngine+JRubyの起動が遅いせい。