Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction of mruby & Webruby script example

1,777 views

Published on

The slide is a short introduction of mruby and Webruby script example.

Published in: Technology
  • Be the first to comment

Introduction of mruby & Webruby script example

  1. 1. mrubyの概要と webrubyで遊んでみた顛末 kishima Aug 28, 2013 kawasaki.rb 1
  2. 2. 自己紹介 @kishima メーカーで組み込みソフト周辺?の研究 的なことしています。 でも最近はJavaを触ることが多いよう な。 Tokyu.rbでお肉を食べたり、あみだくじ を引いていたりします。 2
  3. 3. mrubyとは ・組み込み向けのruby ➡ 小さい実装 移植しやすい メモリをあまり食わない などの特徴を持ったRubyです Rubyと同様に GC、VMを持っており、その上で動作します 3
  4. 4. 組み込み? ・アプリ組込み ・デバイス組込み の2つの流派があります mrubyはどちらにも使えます 4
  5. 5. 特徴 ・必要最小限の機能を選択できるようにmrbgem という仕組みがあります 普通のgemと違ってコンパイル時に静的にリンクさ れます 特にデバイス組込みにはありがたい機能です 5
  6. 6. どのくらいの大きさ? 資料が準備できてないので、 以前書いたブログを参照… http://d.hatena.ne.jp/machaut/20120624/1340547112 6
  7. 7. 応用例 IIJさんのルータや、mrubyボード Apacheへの組み込み などなど IIJさんの取り組み: http://www.iij.ad.jp/company/development/tech/activities/mruby/ 変わったものとしては LEGO MINDSTORMで動かした例など… http://www.youtube.com/watch?v=I8opMZyJNZI 7
  8. 8. webrubyとは ブラウザの上でRubyが使える! $(document).ready(function() { var src = "5.times { puts 'Ruby is awesome!' }"; var w = WEBRUBY(); w.run_source(src); w.close(); }); 趣味の範囲で作られているようなので、仕事 で使うには色々問題あると思います 8
  9. 9. webrubyの仕組み LLVMを使ってmrubyをjsにコンパイル! http://qiezi.me/talks/rubykaigi2013/index.html#/ より 9
  10. 10. デモ 6月に行われたTokyuRubyKaigi06 で試してみました 10
  11. 11. TokyuRubyKaigi06 抽選の仕組み 抽選スクリプト.rb webruby (mruby) compiled by LLVM/emscripten 描画スクリプト.js on Enchant.js JavaScript 描画周りはスプライトが使いやすかったので、 enchant.jsで描画しています 24fpsでjsからmrubyをコールバックして、 jsがその結果を受けて画面を更新しています。 11
  12. 12. ハマったこと ・オブジェクトを引数にしてjsからmrubyに コールバックすると、そのうち スタックオーバフローしてしまう ・splitで正規表現が使えない ・日本語が文字化けする? 12
  13. 13. おしまい 13

×