POCO C++ Libraries

POCO C++ Librariesは、C++でネットワークアプリケーションを開発するための強力なオープンソースのクラスライブラリです。POCO(POrtable COmponents)という名前の通り、移植性が高く、様々なプラットフォームで動作します。

POCOの概要



POCOは、Javaや.NET Framework、Cocoaのような他の開発環境のライブラリと同様の機能を提供することを目指しています。特にネットワーク関連の機能に重点を置いており、ANSI/ISO標準に準拠したモダンなC++ライブラリとして開発されています。使いやすさ、一貫性、コード品質を重視しており、ユニットテストを通じて品質が維持されています。Boost Software Licenseの下でリリースされており、移植性の高さから多くのプラットフォームで利用されてきました。

ライブラリの構成



POCO C++ライブラリは、コアとなる4つのライブラリと、オプションのアドオンライブラリで構成されています。Basic Editionでは、以下の4つのコアライブラリが利用できます。

Foundation:
プラットフォームの抽象化、メモリ管理(RAII、スマートポインタなど)、文字列操作、エラー処理、ストリーム、スレッド、日時処理、ファイルシステム、ロギング、プロセス間通信、共有ライブラリ、通知、イベント、暗号化、テキスト処理、正規表現、URI、UUID、キャッシュなどの基本機能を提供します。

Net:
ソケット、リアクターパターン、MIMEメッセージ、HTTP、FTP、メール(POP3、SMTP)などのネットワーク機能を提供します。クライアントとサーバーの両方をサポートしています。

XML:
SAX2、DOM、XMLライターなどのXML処理機能を提供します。

Util:
設定ファイル、コマンドラインオプション、ツールやサーバーのアプリケーションフレームワークなどのユーティリティ機能を提供します。

POCOの設計目標



POCOは、すぐに使える便利なコンポーネントライブラリを提供することを目標に設計されました。Basic EditionとComplete Editionの2つのパッケージ形式で提供されており、Complete EditionにはNetSSL、暗号化、Zip、Dataなどの機能が含まれています。Basic Editionは外部ライブラリへの依存を避けるように設計されています。

POCOの歴史



2004年: Günter Obiltschnigが、既存のC++ライブラリに不満を感じ、POCOの開発を開始しました。
2005年2月21日: 最初の公開リリース (0.91.1)。SourceForge.netで公開されました。この時点ではFoundationとXMLライブラリが含まれていました。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がリリースされました。

外部リンク



POCO公式サイト
POCO公式ドキュメンテーション
POCO SourceForge プロジェクトサイト
ソースコード
なぜ POCO は上手に設計・実装されているのか?
Aleksandar Fabijanic, Dynamic Any, Part 1, ACCU Overload 86 (August 2008))
Aleksandar Fabijanic, Dynamic Any, Part 2, ACCU Overload 87 (October 2008))
CodeGuru Interview - Bjarne StroustrupがPOCOについて言及
* POCO Fanatic

POCO C++ Librariesは、ネットワークアプリケーション開発に必要な機能が豊富に揃っており、効率的かつ移植性の高いコードを書くのに役立ちます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。