POCO C++ Libraries

出典: フリー百科事典『ウィキペディア(Wikipedia)』
POCO C++ Libraries
開発元 Günter Obiltschnig など
最新版
1.9.2 / 2019年7月2日 (4年前) (2019-07-02)
リポジトリ ウィキデータを編集
プログラミング
言語
C++
対応OS クロスプラットフォーム
種別 ライブラリ、フレームワーク
ライセンス Boost Software License
公式サイト pocoproject.org
テンプレートを表示

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

概要[編集]

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

POCO C++ライブラリの階層[編集]

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.netで公開。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リリース
  • 2012年10月14日 - POCO 1.5リリース
  • 2014年12月22日 - POCO 1.6リリース
  • 2016年3月7日 - POCO 1.7リリース
  • 2017年11月10日 - POCO 1.8リリース
  • 2018年3月7日 - POCO 1.9リリース

参照[編集]

外部リンク[編集]