Yuyake - ブラウザ上でRubyでWebアプリ開発
色々未完成なのですが、放置気味だったのでとりあえず現状を公開することにしました。
ブラウザ上で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のエディタ部分が単独で公開されているので、それを使っています。各種言語のシンタックスハイライトとかオートインデントとかしてくれて、いい感じです。