openFrameworksの基本


どうもOS XあるいはiOS用のプログラムをC++で書く、というのは邪道な感じがするので個人的にはopenFrameworksはそんなに好きではないのですが、作る内容によっては手間を最小化できるのは事実なので、前回のMakeから一年たった現在最新のopenFrameworksをもう一回勉強しておこうと思います。

openFrameworksの基本

三行で

  1. ゲームとかインスタレーションを作るのに向いてる
  2. クロスプラットフォームの
  3. アプリケーション開発フレームワーク

冒頭でも触れた通りコードはC++で書きます。僕のいた大学では、デザイン系の学生がよくプロトタイプやデモを作るのにProcessingかopenFrameworksを使ってましたが、最近はopenFrameworksがiPhoneやAndroidにも標準で対応していることから、どうも人気が高まっているようです。

openFrameworksを使う理由

1. 流行っている

実はこれは結構重要で、ユーザが多いと情報も増えてきて開発しやすいし、使用実績が多いということはそれなりにパフォーマンス/安定性があるということでしょう。

2. 短いコード、少ない手間

プロトタイプ程度であれば、自分でゼロからコードを書くのに比べてずっと短いコード、少ない手間で目的を達成できます。

3. 色々なライブラリを簡単に扱える

AR系のライブラリ(ARToolKitやOpenCV)や物理演算(Box2D)等、多くの便利なライブラリの機能を簡単に呼び出せます。僕がopenFrameworksを使う理由は主にこれです。

openFrameworksを使いたくない理由

これからopenFrameworksをみていこう、というところで都合の悪い話を書くのも微妙ですが、ある程度プログラミング経験のある人なら「openFrameworksを使うべきか、他のフレームワークor自分で作るべきか」という悩みがあるはず。

1. 細かい所に手が届かないときがある

openFrameworksに限った話ではないのですが、アプリケーションのランループの面倒までみてくれるようなフレームワークで、特にクロスプラットフォームを売りにしているようなものだと、UI周り等で細かい所に手が届かない事があります。プロトタイプやデモを作るだけであれば、ここは問題にならないかもしれないですが、アプリケーションとしてユーザに配布して使ってもらうことを考えるのであれば、少しこの点は考慮する必要があります。

2. openFrameworksを使ってる人にはわかる

実際の経験として「これはopenFrameworksで作ってますよね?^^」という声を展示中に何度か見ていただいた方から聞きました。自分の作り方に問題があるのかもしれないけれども、openFrameworksを使った作品が増えている分、頑張らないと「またopenFrameworksか」と思われてしまうかもしれません…。

3. C++?

個人的な見解ですが、C++で書かれたコードは最近のプログラミング言語に慣れた体には、どうも可読性の低い古い時代のコードに見えてしまいます。

4. フレームワークに頼らずに全部自分で作るのは楽しい

本末転倒になるので、これは忘れましょう。

結論

と若干否定的なことをいいつつも、実際には僕も去年のMake Tokyo Meeting 06で展示したシステム等でopenFrameworksを使っています。使う場面によってはとても良いフレームワークだと思うので、少し詳しく見ていってみましょう


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です