今年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界隈がどうなるか、とても楽しみです。