Info

 
   

POCO C++ Libraries: About

"Without a good library, most interesting tasks are hard to do in C++;
but given a good library, almost any task can be made easy."

Bjarne Stroustrup

Next generation C++ class libraries for network-centric applications.

The POCO C++ Libraries (POCO stands for POrtable COmponents) are open source C++ class libraries that simplify and accelerate the development of network-centric, portable applications in C++. The libraries integrate perfectly with the C++ Standard Library and fill many of the functional gaps left open by it. Their modular and efficient design and implementation makes the POCO C++ Libraries extremely well suited for embedded development, an area where the C++ programming language is becoming increasingly popular, due to its suitability for both low-level (device I/O, interrupt handlers, etc.) and high-level object-oriented development. Of course, the POCO C++ Libraries are also ready for enterprise-level challenges.

The POCO C++ Libraries free developers from re-inventing the wheel, and allow them to spend their time on more worthwhile areas, such as getting things done quickly and working on the features that make their application unique.

POCO C++ Libraries

Objectives and Mission

The POCO C++ Libraries aim to be for network-centric, cross-platform C++ software development what Apple's Cocoa is for Mac development, or Ruby on Rails is for Web development — a powerful, yet easy to use platform to build your applications upon.

The POCO C++ Libraries are built strictly on standard ANSI/ISO C++, including the standard library. The developers of the POCO C++ Libraries attempt to find a good balance between using advanced C++ features and keeping the classes comprehensible and the code clean, consistent and easy to maintain.

Features

  • threads, thread synchronization and advanced abstractions for multithreaded programming
  • streams and filesystem access
  • shared libraries and class loading
  • powerful logging and error reporting
  • security and encryption
  • network programming (TCP/IP sockets, HTTP client and HTTP server, FTP, SMTP, POP3, etc.)
  • XML parsing (SAX2 and DOM) and generation
  • configuration file and options handling
  • SQL database access (ODBC, MySQL, SQLite)

Proven Technology

The POCO C++ Libraries project was started by Günter Obiltschnig in late 2004, guided by the desire to build comprehensive, comprehensible, consistent and easy to use class libraries for Internet-age applications written in modern C++. Today, the ongoing development of the POCO C++ Libraries is backed by a world-wide enthusiastic community of C++ experts.

Since 2005, the POCO C++ Libraries have been used by developers worldwide to build systems like building automation devices, steel manufacturing automation systems, automotive test and diagnostics systems, VoIP applications, sawmill equipment, air traffic management systems, genome sequencers, and many more.

Platforms & Portability

POCO runs on a variety of platforms, including:

  • Windows
  • Mac OS X
  • iPhone OS
  • (embedded) Linux
  • HP-UX
  • Tru64
  • Solaris
  • QNX

With POCO, porting an application to another platform often nothing involves more than just a simple recompile.

Take a Tour

Take the Guided Tour to get a first look at the POCO C++ Libraries.