2017年のmrubyについて


今年7月に1.3.0がリリースされた1mruby。去年の今ごろと比べてどうなったでしょうか。まずは1.3.0の内容から見ていきましょう。

mruby v1.3.0

前回のリリースは2015年なので、約2年ぶりのリリースということになります。

The safe navigation operator

mrubyでも「ぼっち演算子」がサポートされたということですね。

Array#dig, Hash#dig

ArrayとHashにdigが実装されました。これはJSONとかを扱うときに便利なものですね。

Object#freeze

Ruby 2.4ではfrozen_string_literalが話題になりましたが、mrubyには1.3.0でfreezeが使えるようになりました。mrubyでも文字列をfreezeすると速くなったりするのでしょうか?

Kernel#caller

Kernel#callerが使えるようになりました。そもそもKernel#callerが何者なのかというと……

デバッグの時に便利そうなメソッドであることがわかります。

RubyKaigi 2017

今年のRubyKaigiでは、mrubyに関係するTalkが2本ありました。確かLTにも1本あったような……

mruby gateway for huge amount of realtime data processing

mruby gateway for huge amount of realtime data processing - RubyKaigi 2017
これはTresureDataで、h2oのmruby handlerを使用して大量のリクエストを捌くのにどうやったか、という内容の発表だと記憶しています。

Write once, run on every boards: portable mruby

Write once, run on every boards: portable mruby - RubyKaigi 2017

毎度おなじみ、TOPPERS Projectの方によるトイレの発表でした。mrubyを用いて、同じ動作をするプログラムを複数のボード(Arduinoのような)で動かすという内容の発表だと記憶しています。

プロダクト

ロリポップ!マネージドクラウド

ロリポップ!マネージドクラウド|オープンβ提供中!

mruby製のコンテナエンジンであるhaconiwa2を全面採用したマネージドクラウドサービスがオープンβリリースされました。

まとめ

mrubyも着々と進化を続けており、今年は正式リリースとはいかないまでもmrubyを採用したサービスを利用できるようになりました。これからのmruby界隈がどうなるか、とても楽しみです。