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.
POCO, the C++ Portable Components, is a collection of 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 C++ Portable
Components 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, POCO is also ready for enterprise-level
challenges.
The POCO 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.
Objectives and Mission
POCO aims 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.
POCO is built strictly on standard ANSI/ISO C++, including the standard
library. The developers of POCO 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
- network programming (TCP/IP sockets, HTTP, FTP, SMTP, etc.)
- XML parsing (SAX2 and DOM) and generation
- configuration file and options handling
- database access
Platforms & Portability
POCO runs on a variety of platforms, including:
- Windows
- Mac OS X
- (embedded) Linux
- HP-UX
- Tru64
- Solaris
- QNX
White Paper
Find more information in the C++ Portable Components
Overview.