POCO C++ Libraries

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
POCO C++ Libraries
開発元 Günter Obiltschnig など
最新版 1.4.6p1 / 2013年03月6日(17か月前) (2013-03-06
プログラミング言語 C++
対応OS クロスプラットフォーム
種別 ライブラリ、フレームワーク
ライセンス Boost Software License
公式サイト pocoproject.org
テンプレートを表示

POCO C++ Libraries は、C++ネットワーク対応でポータブルなオープンソース·クラスライブラリのコレクション。 POCO は、POrtable COmponents の略である。ライブラリは、スレッド、スレッドの同期、ファイルシステムへのアクセス、ストリーム、共有ライブラリとクラスのロード、ソケットとネットワークプロトコル(HTTPFTPSMTPなど)などの機能をカバーし、HTTP サーバや、SAX2 と DOM インタフェースを含む XML パーサ、SQL データベースなどを含む。モジュラーかつ効率的な設計および実装は、組み込み開発に適したライブラリである。

概要[編集]

POCO は、Java クラスライブラリ.NET Framework、Apple の Cocoa のような他の開発環境に似たライブラリをユーザーに提供する C++ ライブラリのコレクション。 POCO は、ネットワーク中心のアプリケーションドメインを中心に、近代的な ANSI / ISO 標準に準拠して開発された C++ と C++ 標準ライブラリの元に、強力な機能、使いやすさ、一貫性に重点を置いている。コードの品質に重点を置いて管理され、一貫したスタイルとユニット·テストによって、POCO はすでに異なる様々なプラットフォームに移植された、移植性の高いオープンソースのソフトウェアで、Boost Software License の下でリリースされている。

POCO C++ Libraries の階層[編集]

POCO C++ ライブラリは、現在、各リリースで利用可能な4つのコアライブラリとオプションのアドオンライブラリーに分割される。POCO C++ の設計と階層はうまく設計されたと見なされている[1][2]。Basic Edition では、4つのコア·コンポーネント·ライブラリを扱っている。

Foundation
  • プラットフォームの抽象化 - 基本的な型の移植性の問題を容易にするなど
  • メモリ管理 - RAII (SharedPtr)、AutoPtr、参照カウント、ガベージコレクションなど
  • 文字列ユーティリティ
  • エラー処理 - 例外クラスの拡張
  • ストリーム - エンコードとデコードおよびフィルタリングのサポート
  • スレッド - 並行処理のサポート
  • 日付と時刻 - フォーマットと高精度のタイマーを含む日付と時刻のサポート
  • ファイルシステム - ファイルシステムのサポートを抽象​化
  • ロギング - アプリケーションとシステムのログ、フィルタリング、ロギング戦略
  • プロセス - プロセス間通信とメモリ共有
  • 共有ライブラリ - 動的ライブラリのサポート
  • 通知 - 通知のサポートを抽象化
  • イベント - イベントのサポートや戦略を抽象化
  • 暗号 - 乱数の生成、ダイジェストと暗号化/復号エンジン
  • テキスト - Unicodeエンコーディングのサポート
  • 正規表現 - Perl互換の正規表現に基づいて
  • URI - ユニバーサルリソース識別子のサポート
  • UUID - 汎用一意識別子のサポートとジェネレータ
  • キャッシュのサポート - 戦略の抽象化
Net
  • ソケット - 低レベルのネットワークサポートを抽象​化
  • リアクターパターン - 一般的なネットワーク抽象化パターンのサポート
  • MIMEメッセージ - エンコードのサポート
  • HTTP - クライアントとサーバーの高レベルの HTTP サポート
  • FTP - 高レベルの FTP サポート
  • メール - POP3、SMTPストリームベースのサポート
  • HTML - フォームのサポート
XML
Util
  • コンフィギュレーション·ファイル
  • コマンドラインオプション
  • ツールやサーバーのアプリケーション·フレームワーク

POCO に関しての多くの標的決定の一つの設計目標は、箱から出してすぐに動作する簡単に使えるコンポーネントライブラリを提供することにある。POCO C++ ライブラリには、Basic Edition と Complete Edition という2つのパッケージ形式で現在利用可能。Complete Edition はNetSSL、暗号化、Zip、Dataをカバーする。Basic Edition は含まないので、OpenSSLODBCMySQL などの外部ライブラリへの依存を排除する。

歴史[編集]

  • 2004年 - Günter Obiltschnig が、ネットワーク中心のプログラミングのための C++ クラスライブラリで提供されていたものに不満を持っていた結果としてのクラスライブラリの開発が開始した。
  • 2005年2月21日 - 最初の公開リリース(0.91.1)。Sourceforge で公開。Foundation と XML ライブラリが含まれていた。 POCO は、Sleepycat ライセンスでリリースされた。
  • 2005年5月 - Aleksandar Fabijanic が、最初の貢献をした
  • 2006年1月19日 - POCO 1.0 は Net ライブラリを含めて、リリースされた
  • 2006年3月23日 - POCO 1.1 リリース
  • 2006年7月 - POCO は Boostライセンスの下で再ライセンスされた
  • 2006年8月29日 - POCO 1.2 リリース
  • 2007年5月7日 - Data ライブラリを含む 1.3 がリリースされた
  • 2010年12月14日 - POCO 1.4 リリース

参照[編集]

  1. ^ http://cppdepend.wordpress.com/2009/09/24/why-poco-is-well-implemented-and-designed/
  2. ^ http://accu.org/content/conf2009/ACCU2009_Bernhard_Merkle_StopTheSoftwareArchitectureErosion.pdf

外部リンク[編集]