about


openFrameworksは、シンプルで先端的なフレームワークによって創作活動を支援するためのオープンソースC++ツールキットです。ツールキットは、以下のリストあげたよく利用されるライブラリー群をまとめて汎用的な「糊」のような役割を果たすようにデザインされています。

コードは様々なプラットフォームで動作するように書かれています。現在は、5つのOS(Windows, OSX, Linux, iOS, Android)と、4つの開発環境(XCode, Code::Blocks, and Visual Studio, Eclipse)をサポートしています。APIは最小限で把握し易いようデザインされています。

簡単に言うと、openFrameworksはコードにまつわる様々な事柄をずっと容易にしてくれるツールなのです。わたしたちはこのツールをとても便利と感じています、きっとあなたもそうなるでしょう。

openFrameworksはザック・リーバーマン(Zach Lieberman)セオドア・ワトソン(Theodore Watson), アルトロ・カストロ(Arturo Castro)を中心にして、OFコミュニティーとともに開発されています。openFramewokrsは以下2つの先駆的なプロジェクトの恩恵を受けています。


貢献や協力をした人達

openFrameworksは、oFコミュニティーの協力のもと、Zach Lieberman, Theodore Watson, and Arturo Castroのコアメンバー ("the core")によって、活発に開発されています。 openFrameworksは、2つの重要な先駆的なプロジェクトの恩恵を受けています。Casey ReasBen FryとProcessingのコミュニティ、そして、ACU ToolkitというBen FryとMITメディアラボの「コンピューテーション美学(Aesthetics and Computation)グループ」によって開発され個人的に配布されたたC++ライブラリーです。 何人ものコミュニティーのリーダーが、openFramworksを基本機能を構成するサブセクションのリポジトリを整備しています。

現在:

過去のリーダー:

  • Steve Varga (vargatron) タイポグラフィー・リーダー

多くの組織が、助成金、寄付、国際開発者会議の会場の提供などを通して多大な協力を提供してきています。

また、以下の組織は、「oF Lab」という数日にわたって開催される教育ワークショップのイベントの会場を提供していただきました。完全なリストは、wikiを参照してください。


デザイン哲学

openFrameworksの開発は、分散化されています。多くの人々の参加、活発な議論アドオンプロジェクトへの貢献によって繁栄しています。わたしたちは、openFrameworksをまず自分自身のために利用し、その後エコシステムに還元することを推奨しています。

openFrameworksは一貫していて感覚的:openFrameworksは、「驚き最小の原則」に基いています。つまり、openFrameworksの一部を学べば、その他のパートにも容易に応用可能です。初心者はopenFrameworksをプログラミングのパターンの基礎を学ぶために使用できます。さらに進んだユーザーは、他のツールキットや言語で実装したや自分自身の経験をopenFrameworksに応用することが可能です。

openFrameworksはユーザビリティシンプリシティのバランスを保つようにしています。初期バージョンの頃は、openFrameworksは主にC++とOpenGLの教育のために用いられていました。しかし時が経つにつれ、豊富な実例がより進んだ応用的な内容に最適な学習方法になってきていました。

openFrameworksは、クロスプラットフォームです。openFrameworksは様々な開発環境とオペレーティングシステムを可能な限りサポートします。openFrameworksをダウンロードする際にはプラットフォームと開発環境が選択可能です。そして、様々なサンプルとプロジェクトが付属してきます。移植が困難なコードは主要パートとは別に隔離されていて、アドオンとして提供されます。

openFrameworksはパワフルです。例えばOpenCVのライブラリのようにグラフィクスカードなどのハードウェアを効果的に使用したり、カメラなどの周辺機器に接続したりするような際に効力を発揮します。

openFrameworksは拡張性があります。もしopenFrameworksに何かが欠けているのき気付いたら、拡張のためのアドオンは簡単に作成可能です。openFramewroksでは一般的に、新規に機能を開発するよりも、アドオンとしてライブラリに組み込まれて使用されます。openFrameworksにライブラリが格納されても、ライブラリは将来のハッキングのために外部に晒されています。


faq

なぜ、多くの既存のライブラリではなく、また別のライブラリを作成したのですか?

ソフトウェアを簡単に作るためのたくさんのライブラリが、存在します。例えばOpenGLには多くのライブラリ、例えばogre、irrlicht、JUCE、SDL、mxWindowsなどがあります。

openFrameworksは本来、開発の代替手段の「骨組」を提供することを意味していました。我々は、オーディオビジュアルな作品をC++で実現するための最小限の要求を満たすようなライブラリを記述したいと思っていました。

時が経つにつれ、openFrameworksはより強靭なツールキットへと進化していきました。現在、最大の変化は利用者です。我々の未来の利用者は、コンピュータを創作のためや芸術表現、メディア内部の低レベルなデータにアクセスして、操作、分析、探索をしたいと考えているような種類の人々なのです。

なぜ、これらのライブラリをまとめたのですか?

わたしたちは、これまでの経験から判断し、最もクリーンでシンプルなAPIを持つもの、最も寛大なライセンスのもの、組み込みが最も簡単なもの、という基準でライブラリ選択しました。

例えば、ウィンドウのためのライブラリにはGLUTを選択しました。なぜなら、GLUTは最も普及していて、ライセンスが緩やかで、コンパイラやプラットフォームによって非互換な部分がほとんどないからです。わたしたちは、その他のウィンドウ関連のライブラリ、例えばglfwやmxWindowsなども使ってきました。実際にそれらをopenFrameworksにくっつけてみたこともありました。しかし、最終的には、最も簡単に取り扱うことのできるGLUTを選択しました。

最新版のopenFrameworksは、どこにありますか?

最新版のリリースは、ダウンロードページにあります。同じものは、GitHub(https://github.com/openframeworks/openFrameworks/)からも入手可能です。さらに、開発中の最新のスナップショットは、develop branchにあります。GitHubからoFをビルドするための詳細な情報は、readmeを参照してください。GitHubに参加したい場合は、oFとGitHubに関する文書を参照してださい。

何か助けになることはありますか?

アドオンを作成すること、ドキュメントを改良すること、チュートリアルやインストラクションを作成などを通じて助けになることが可能です。もしoFを既に使用して興味を持ったなら、できる限りソースや情報やアイデアを投稿してください。まだ初心者なら、どういった部分が難しいのか記録をとってフォーラムに質問したり、他の人達が何をしていて何を考えているのかを知ることで、わたしたちの活動に参加することができます。

なぜopenFrameworksは、実行ファイルではなく、ソースコードで配布しているのですか?

色々な理由があります ― 第一に、実践的だからです。openFrameworksはまだ発展途上です。我々は進むべき方向にむかって変化を加えていくでしょう。 コードを閲覧可能にして変更を容易にしておくことで、わたしたち多くの問題や困難についてのフィードバックを得ることができます。第二に、教育的だからです。C++のライブラリと格闘することを学ぶための好奇心を与えることがとても良い出発点になります。第三に、openFrameworksに変化を加えたり、趣味や気のおもむくままに自分にあわせて変更することに対して開かれた環境となっているからです。

C++を学ぶには?

わたしたちは、openFrameworksをC++の教育用のツールとしてはとらえていません。しかし、openFrameworksがC++にとりかかるための「最初の一歩」となるのではと考えています。フォーラムでは活発なコミュニティーを運営していますので、そこで質問すると良いでしょう。

わたしたちは以下のサイトもお薦めします: