マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】mruby


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「mruby」とは
「mruby」基本情報
■概要
mruby(エムルビー)とは、Ruby言語の軽量実装です。組み込み開発やアプリケーション組み込み用途に向いています。
■基本説明
mrubyは、プログラミング言語「Ruby」のためのインタプリタであり、省メモリ版Ruby実装です。
一部ISO標準に準拠しており、「軽量」「簡単に組み込み可能」などの特徴があります。
■経緯
・2012年 初版リリース
mrubyプロジェクトは、Ruby言語の開発者でもある、まつもとゆきひろ氏が率いるプロジェクトで、100人以上の貢献者が開発に取り組んでいます。
mrubyは経済産業省のサポートを得て「平成22年度 地域イノベーション創出研究開発事業」「軽量Rubyを用いた組込みプラットフォームの研究・開発」において、2年の歳月をかけて開発されました。
主な特徴
■Rubyベース
mrubyは、Ruby言語がベースになっています。
→OSSxCloudNews →オープンソースの言語/Rubyとは
mrubyはRuby同様に、次のような特性を持っています。
・動的型付け言語(型なども実行時判断)
・「メモリ割り当て」「メモリ解放」などの管理が言語処理系により自動実行
■コンパイラ言語
コンパクト処理系「mruby VM」
mrubyは、VM(仮想マシン)上で動作するため環境に依存しません。
実行形式
Rubyアプリケーションはスクリプトですが、mrubyでは組み込み開発を考慮されており自由度が高くなっています。
・mrubyコンパイラによりバイトコードに変換して実行
・スクリプトのまま実行 など
クロス開発不要
mrubyアプリケーションは、環境に合わせたVMを用意することで動作できるため、クロス開発は不要です。
ハードウェア開発前にPC上でシミュレートすることで開発を開始できるメリットがあります。
■C言語との高い互換性
互換性
mrubyはC言語との高い互換性を持ちます。
・mrubyからC/C++の呼び出し
・C/C++からmrubyアプリの呼び出し など
C言語+mruby
mrubyは高速ですが、C言語と比較すると動作が遅い面もあるため「高速処理が必要な部分にはC/C++を使用」「その他はmrubyを使用」などのように、組み合わせて利用できます。
■インクリメンタルガベージコレクション
mrubyは緩やかなガベージコレクションを行うため、システムのリアルタイム性を損ないません。
ガベージコレクションの頻度を最適化する「Generational Mode」という手法も取り入れています。
■組み込み統合
組み込み開発における開発生産性
mrubyは、Rubyの「書きやすい」「習得しやすい」という特長を活かしつつ、組み込み開発の抱える短納期/高機能/低予算/技術者不足などの課題解消に貢献できる言語です。
省メモリ
mrubyは、100Kバイト程度の少ないメモリで動作できます。
アプリへの組み込み
一般的な組み込みシステムにmrubyを活用できますが、各種アプリケーションに対する組み込みも行えます。
・エディタのマクロ言語
・データベースのトランザクション言語
・アプリケーション設定ファイル
・Apacheへの組み込み(RubyでApacheを制御) など
補足情報
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Lua」「P言語」など。
■オフィシャルサイト
オフィシャルサイト
ライセンス情報
mrubyのライセンスは「MIT license」です。
詳細について、こちらを参照ください。
→GitHub →mruby/LEGAL
ダウンロード
参考元サイト
- mruby
- GitHub →mruby / mruby
- Wikipedia →mruby
- @masuidrive blog →軽量Ruby – mrubyとRubyの違い
- MONOist →mruby概論(1):“Rubyの良さを組み込みに”を合言葉に開発された「mruby」とは何か
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク3位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク6位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク7位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク8位🏆
【無料で使える】「 マルウェア 」対策ツールまとめ - 🏆ランク9位🏆
【無料で使える】「 ファイアウォール 」ソフトウェアまとめ - 🏆ランク10位🏆
【OSS情報アーカイブ】fping