Poco C ++ Bibliotheken

Poco C ++ Bibliotheken
Entwickler (en) Günter Obiltsschnig, et al.
Erstveröffentlichung 21. Februar 2005; Vor 17 Jahren[1]
Stabile Version
1.11.3[2] / 2022-06-12[±]
Repository Poco -Repository
Geschrieben in C ++
Betriebssystem Plattformübergreifend:
Desktop-Server: Fenster, Linux, Mac OS, Solaris, HP-UX, AIX
Eingebettete Mobile: Windows eingebettet kompakt, eingebettete Linux, Android, iOS, Qnx, VxWorks
Plattform ARM, IA-32, x86-64
Verfügbar in Englisch
Typ Bibliothek oder Rahmen
Lizenz Steigerung der Software 1.0
Webseite Pocoproject.org

Das Tragbare Komponenten (Poco) C ++ Bibliotheken sind Computer Software, eine Reihe von Klasse Bibliotheken Für die Entwicklung Computernetzwerk-zentrisch, tragbar Anwendungen in der Programmiersprache C ++. Die Bibliotheken behandeln Funktionen wie z. Themen, Faden Synchronisierung, Dateisystem Zugang, Ströme, gemeinsame Bibliotheken und Klassenbeladung, Internet -Sockelnund Netzwerk Kommunikationsprotokolle (Http, Ftp, SMTPusw.) und einbeziehen eine HTTP -Server, und ein Xml Parser mit SAX2 und Dom Schnittstellen und Sql Datenbankzugriff. Das modulare und effiziente Design und die Implementierung machen die Bibliotheken gut geeignet für Eingebettetes System Entwicklung.

Die Bibliotheken sind Kostenlose und Open-Source-Software verteilt unter dem Boost Software Lizenz 1.0.

Überblick

POCO ist eine Reihe von C ++ - Bibliotheken, die Benutzern eine Bibliotheksunterstützung bieten, die denen in anderen Entwicklungsumgebungen ähnelt, wie die Java -Klassenbibliothek, .NET Framework, oder Apples Kakao. POCO konzentriert sich auf netzwerkzentrierte Anwendungsdomänen und entwickelt mit modernen ANSI/ISO-Standard-C ++-und C ++ Standardbibliothekseinrichtungen und -techniken mit Schwerpunkt auf leistungsstarke Funktionen, Benutzerfreundlichkeit und Konsistenz. POCO unterliegt hauptsächlich von Codequalität, konsistenten Stil und Unit -Tests. Es ist hoch tragbar und wird bereits auf eine Vielzahl verschiedener Plattformen portiert.

Geschichte

Bibliothekshierarchie

Ab 2017POCO C ++ -Bibliotheken werden in fünf Kernbibliotheken mit optionalen Add-On-Bibliotheken aufgeteilt, die mit jeder Version verfügbar sind. Das Design und die Hierarchie von Poco C ++ werden als gut gestaltet angesehen.[3][4] Die fünf Kernkomponenten -Bibliotheken decken die folgenden Bereiche ab, die in der Basisausgabe zu finden sind:

Stiftung
  • Plattformabstraktion - Erleichtert Portierungsprobleme von Grundtypen usw.
  • Speicherverwaltung - Ressourcenerwerb ist die Initialisierung (Raii), auto_ptr, Referenzzählmüllsammlung usw.
  • String -Dienstprogramme
  • Fehlerhandhabung - erweiterte Ausnahmegemäßige
  • Ströme - Codierung und Dekodierung und Filterunterstützung
  • Themen - Unterstützung für die gleichzeitige Verarbeitung
  • Datum und Uhrzeit - Datums- und Uhrzeitunterstützung einschließlich Formatierung und Hochgenauigkeits -Timer
  • Dateisystem - Unterstützung des abstrahierten Dateisystems
  • Protokollierung - Anwendungs- und Systemprotokoll-, Filter- und Protokollierungsstrategien
  • Prozesse - Interprozess -Kommunikation und Speicherfreigabe
  • gemeinsame Bibliotheken - Unterstützung bei der dynamischen Bibliotheksunterstützung
  • Benachrichtigungen - Abstracted Benachrichtigungsunterstützung
  • Ereignisse - Abstracted Event Support und Strategien
  • Krypta - Zufallszahlengenerierung, Verdauung und Codierungs-/Dekodierungsmotoren
  • Text - Unicode -Codierungsunterstützung
  • Reguläre Ausdrücke - Basierend auf Perl kompatibler regulärer Ausdruck
  • Uri - Unterstützung für universelle Ressourcenkennung
  • Uuid - Allgemein einzigartige Identifikatoren und Generatoren
  • Cache -Unterstützung - Abstracted Strategy Support
Netz
  • Steckdosen - Abstracted Low -Level -Netzwerkunterstützung
  • Reaktormuster - Unterstützung für beliebte Netzwerkabstraktionsmusterunterstützung
  • MIME Nachrichten - Codierungsunterstützung
  • Http - HTTP -Unterstützung auf hoher Ebene für Client und Server
  • Ftp - High Level FTP -Unterstützung
  • Mail - POP3, SMTP Stream -basierter Unterstützung
  • Html - Formularunterstützung
Xml
JSON
  • APIs zum Lesen und Schreiben JSON
Util
  • Konfigurationsdateien
  • Befehlszeilenoptionen
  • Tools und Serveranwendungsframework

Ein Designziel vieler gezielter Entscheidungen basiert auf Poco C ++, das eine einfach zu verwendende Komponentenbibliothek bietet, die funktioniert aus der Schachtel. Ab 2017Die Bibliotheken sind in zwei Paketformaten erhältlich: die Basic und die Komplett Ausgaben. Die komplette Ausgabe deckt unter anderem NETSL-, Crypto-, Reißverschluss- und Datenfähigkeiten ab. Die grundlegende Ausgabe beseitigt und beseitigt daher die Abhängigkeit von externen Einrichtungen wie OpenSSL, ODBC und MySQL -Abhängigkeiten.

Open Source ermöglicht und fördert die Entwicklung weiterer Bibliotheksfunktionen. Das Design und die Entwicklung des vorhandenen und bevorstehenden Bibliotheksunterstützung wird von den pragmatischen Bedürfnissen der Benutzerbasis angetrieben. In einer Sandbox -Entwicklungsumgebung treten Bibliotheksabzüge auf und werden überprüft und in die Hauptbibliotheksfreisetzungen integriert, wie sie vom Kernentwicklungsteam mit Beiträgen von Mitwirkenden genehmigt wurden.

Veröffentlichung Geschichte

  • 2004 - Günter Obiltsschmig begann mit POCO mit der Entwicklung der Klassenbibliotheken, weil er von dem unzufrieden war, was in C ++ - Klassenbibliotheken für netzwerkzentrierte Programmierung verfügbar war.
  • 21. Februar 2005 - Die erste Veröffentlichung der Veröffentlichung auf SourceForge, unter dem Sleepycat -Lizenz, enthielt die Fundament- und XML -Support -Bibliotheken.
  • Mai 2005 - Aleksandar Fabijanic leistete den ersten Beitrag.
  • 19. Januar 2006 - POCO 1.0 wurde veröffentlicht, einschließlich der Netzbibliothek.
  • Juli 2006 - POCO wurde unter der Boost -Lizenz unterliefen.
  • Mai 2007 - POCO 1.3 wurde veröffentlicht, einschließlich der Datenbibliothek
  • Dezember 2010 - POCO 1.4 wurde veröffentlicht, einschließlich vieler Verbesserungen.
  • Dezember 2014 - POCO 1.6 wurde veröffentlicht, einschließlich der JSON- und MongoDB -Bibliotheken und vielen anderen Verbesserungen.
  • März 2016 - POCO 1.7 wurde veröffentlicht, einschließlich vieler Verbesserungen.
  • März 2018 - POCO 1.9 wurde veröffentlicht, einschließlich der Unterstützung für internationalisierte Domain -Namen und Ergänzungen zu unterstützten Textcodierungen.

Benutzer

Benutzer enthalten:[5]

Siehe auch

Anmerkungen

  1. ^ 21. Februar 2005: Die erste öffentliche Veröffentlichung auf SourceForge, unter dem Sleepycat -Lizenz, enthielt die Fundament- und XML -Support -Bibliotheken.
  2. ^ "Releases - Pocoproject/Poco". Abgerufen 2022-06-12.
  3. ^ "Warum ist Poco gut implementiert und gestaltet?". 24. September 2009.
  4. ^ http://accu.org/content/conf2009/ACCU2009_Bernhard_Merkle_StopthesoftWarearchItorOrosion.pdf[Bare URL PDF]
  5. ^ "Archivierte Kopie". Archiviert von das Original Am 2013-08-26. Abgerufen 2011-02-01.{{}}: CS1 Wartung: Archiviertes Kopie als Titel (Link)

Externe Links