トップ OSS紹介 mruby

mruby

NRIのOpenStandiaが提供するmruby最新情報

バージョンアップ情報

mruby情報

mrubyとは

mruby(エムルビー)とは、組み込み機器やアプリ組み込み向けに最適化されたスクリプト言語です。
2012年4月にRubyの開発者であるまつもとゆきひろ氏が主体のもと開発(リリース)され、ISO規格に準拠したRuby言語の特徴を踏襲しつつ、より軽量化された組み込み向けのRubyとなります。

mrubyは、CPUやOSに依存せず、省リソース且つ省メモリでの環境で実行ができるため、今までRubyで動かなかった環境での組み込みを可能とします。
また、ハードリアルタイムとしてはC/C++と比べ不向きである面、ソフトリアルタイム性が要求されるプログラムとしては扱いやすい特徴を持ちます。
mrubyは、軽量化ゆえに必要最低限の機能のみ提供されていませんが、「mrbgems」というライブラリフレームワークによって容易に機能の拡張が行えます。

mrubyは、主に家電や機械などを制御するためのプログラムやネットワーク機器やデジタル機器などの組み込みシステムとして開発されます。
今も尚GitHub上で開発が進められており、GitHubのIssueページにて問題の報告や議論が記票、解決されています。

主な機能

主な機能は以下のとおりです。

  • 演算子オーバーロード
  • 例外処理機能
  • イテレータとクロージャ
  • ガーベージコレクタ(インククリメンタルGC)
  • ダイナミッククローディング(アーキテクチャによる)

主な特徴

主な特徴は以下のとおりです。

省メモリ

消費するメモリ量が少なくなるよう設計されているため、プログラム実行時に消費するメモリが低く抑えられる。 現在では400KBでの動作が可能となる。

CPU、OS非依存

OSレスに対応し、C99(※)対応のコンパイラが動く環境であれば動作する。

1999年にISO/IECが定めたC言語の国際規格。

C言語との高い互換性

C/C++言語で開発された既存のシステム資産と高い互換性を持つ。
C/C++からmrubyアプリの呼び出し、またはmrubyからC/C++呼び出しが可能である。

アプリへの組み込みが容易

マクロ言語やDBのトランザクション言語として組み込むことができる。 柔軟性の高い設定ファイルとしても組み込み実装が可能である。

拡張性

言語仕様自体がコンパクトに設計されているため、ライブラリフレームワーク(mrbgems)を用いて必要な機能を自由に拡張することができる。

ユースケース

mrubyは組み込み開発に長けているため、ルーターやプリンタ等の電子機器の制御インタフェース開発として活用されています。 近年ではIoT開発のフレームワークとしても利用され始めています。

動作環境

前提となる動作環境は、以下のとおりです。

  • Windows
  • Linux
  • Mac OS
  • RTOS(ITRON、VxWorks)
  • iOS
  • Android

2019年8月時点

mrubyのライセンス

mrubyのライセンスは、MITライセンスを採用しています。
このライセンスの条件の下でソフトウェアのコピーや配布、ソースコードの自由な改変も認められています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Ruby

    Ruby

    ルビー。シンプルさ、読みやすさ、高機能が人気の国産オブジェクト指向スクリプト言語です。

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。