non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

Webrubyを試した #OSX

もうすぐ2ヶ月になる次男は話しかけると、ご機嫌なときは「あー」「うー」とおしゃべりしてくれることも出て来ました。kjunichiです。
 

事前に必要な準備

llvmの入手とセットアップ

emscriptenのサイト手順に従いインストールを行う。その後、emscriptenを動かせば、.emscriptenが作成されているので、必要な項目は設定しておく。

以上の設定を事前にしておけば、gem一発で入れたあとすぐに使える

gemでインストー

gem install wewbruby

rbenvだからか

which webrubyしても出てこなかったので、以下を実施

rbenv rehash

自前のwebrubyのプロジェクトを作成

webruby new MyFistProject
cd MyFirstProject

多くの場合必要そうな設定

mruby-jsの有効化

プロジェクトフォルダ直下のRakefileの編集してmruby-jsを有効にする。

具体的には以下の様のコメントアウトされている行を有効にする。

  # conf.gem :git => 'git://github.com/xxuejie/mruby-js.git', :branch => 'master'
   conf.gem :git => 'git://github.com/xxuejie/mruby-js.git', :branch => 'master'

app.rbを編集

# This is the entrypoint file for webruby

root_object = MrubyJs::get_root_object

# get jQuery selected object
container = root_object.call("$", "#container")

# appends <p> tag

5.times { container.call("append", "<p>This is inserted in Webruby using WEBRUBY#run()!</p>") }

ビルド

rake

で、buildフォルダ配下にいろいろできる、webruby.js出来るはず。

動かす

HTML

<!DOCTYPE html>
<meta charset="UTF-8">
<title>test</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="webruby.js"></script>

<h1>This is a test!</h1>
<div id="container"></div>
<script>
  $(function() {
  var w = WEBRUBY();

  /* Runs embedded source code in mruby.js file. */
  w.run();

  w.close();
  });
</script>

簡易HTTPサーバー

それなりに開発すると.rbファイルをajaxで読む事になりそうなので、ローカルでもサーバを立てて動かした方が良い気がする。

cd build
python -m SimpleHTTPServer

リンク

関連記事

9年前の記事