Frage

Ich habe eine beträchtliche Menge an Erfahrung mit ACE , Erhöhung und wxWidgets . Ich habe vor kurzem fand die POCO Bibliotheken. Hat jemand Erfahrung mit ihnen haben und wie sie zu ACE vergleichen, Erhöhung und wxWidgets in Bezug auf Leistung und Zuverlässigkeit?

Ich interessiere mich besonders für Ersatz ACE mit POCO. Ich habe es nicht gelungen, ACE zu bekommen mit VS2008 mit einem x64 Ziel zu kompilieren. Ich meistens ACE_Task verwenden, so ich denke, dass ich die mit Poco Threads und Nachrichtenwarteschlangen ersetzen kann.

Einige andere Teile von POCO, die mich interessieren sind die Http, Httpclient und LayeredConfiguration. Diese Bibliotheken sind ähnlich zu Bibliotheken in Boost und wxWidgets, aber ich versuche, meine Verwendung von wxWidgets zu GUI-Komponenten und die vergleichbaren Boost-Bibliotheken sind zu begrenzen ... schwierig.

Ich habe Interesse an jeder Erfahrung kann jeder über POCO, gut oder schlecht teilen.

War es hilfreich?

Lösung

Ich habe Teile von POCO hin und wieder verwendet und fand es eine sehr schöne lib zu sein. Ich ACE weitgehend eine Reihe von Jahren verlassen vor, aber POCO enthält einige der gleichen Muster -. Aufgabe, Reactor, etc. Ich habe noch nie mit ihm irgendwelche Probleme hatte, so gehe ich davon aus, um es stabil ist

Einige Aspekte, die Ich mag:

  • Es ist eine ziemlich gut integriert OOP Hierarchie, so dass die Komponenten gut miteinander arbeiten. Es hat eine viel geschlossenere Atmosphäre als so etwas wie Boost-die eher stück Mahlzeit ist.

  • Der Quellcode ist verfügbar und sehr klar. Sie brauchen keine große Blöcke von Zeit zu widmen, zu verstehen, was es tut (ACE, zumindest im letzten ich an der Quelle sah) oder eine Vorlage Assistent sein (Boost).

  • Komponenten halten sich strikt an Standard-C ++. Ausnahmen sind abgeleitet von std :: Ausnahme; sie haben noch nicht-andere-String-Klasse neu zu erfinden, etc.

  • Es ist erstaunlich umfassend. Es gibt viel mehr gibt als auf den ersten Blick erscheint.

Der Nachteil:

  • Eine Frage des persönlichen Geschmacks, aber die Autoren ziemlich viel halten Sie sich eine eine Klasse pro Header-Datei-Modell, so dass Sie viele verschiedene Dateien am Ende mit.

  • Begrenzte Dokumentation. Typ API-Seiten und ein paar PDFs zeigt auf Source-Beispiele meist doxygen. Es ist verwendbar, aber angesichts der Größe des lib ist es zunächst schwierig Figur, wenn Sie die bestmögliche Nutzung der Komponenten machen.

  • Wenn es eine aktive Gemeinschaft um ihn herum gebaut ist, fand ich es nie. Das Paket wird von einigen europäischen Unternehmen gehalten und sie hatten ein Wiki, aber ich fand es nicht, dass die aktive oder nützlich ist.

Alles in allem ist der Nachteil, ziemlich gering. Ich denke, dass es eine sehr gute Bibliothek und würde es auf jeden Fall empfehlen.

Andere Tipps

Ich habe noch nie ACE verwendet, aber ich verwende Boost und Poco. Ich mag die Art der Programmierung von Poco wirklich. Die Pakete sind konsistent und der Quellcode ist leicht zu lesen. Sie sind Vorlage nicht verrückt wie boost. Nach meiner Erfahrung verbringe ich Stunden zu lesen, wie Boost verwenden - Serialisierung Paket, Zeiger Karte Container etc- und wenig Zeit mit dem Lesen, wie Poco Sachen zu verwenden. Ich würde sagen, dass sie ein gutes Design haben und die Verwendung von Vorlagen zu machen, wo nötig.

Auf der negativen Seite sie API-Dokumentation haben, aber sie haben keine umfangreiche Dokumentation darüber, wie Sie ein Paket verwenden würden. Denn das Sie sehen in der Regel bei Codebeispiel Quelle oder ihre Einheit testet Quellcode.

Ich habe die Http auf Windows / Linux ohne offensichtliche Fehler zu arbeiten.

Es ist so ankreiden als 1 positive Erfahrung.

Mir scheint es boost die meisten Traktion für neue C ++ Bibliotheken hat und die Tatsache, dass viele von ihnen in den kommenden C akzeptiert wurde ++ Standard spricht für sich.

Ich benutze ACE und Boost mich und die Gründe, warum ich sie gewählt sind, dass sie reif sind (vor allem ACE) haben einen großen starken User-Community, die sie beibehalten werden sicher macht und verstärkt und dass ich gute Qualität professionelle Unterstützung erhalten können. Wir verwenden IT Abhilfe für unsere ACE / TAO Unterstützung und sind sehr zufrieden.

Als ACE eine viel ältere Bibliothek als Boost ist und eines seiner Ziele ist exotischere (wie embedded) Plattformen unterstützen es nicht so nicht verwendet viel Kante C ++ Technologie als Boost-Blutungen. Ich verwende eine Mischung von ACE und Boost und bin sehr zufrieden mit dieser Kombination.

Ich weiß nicht genau, warum Sie wxWidgets im Spiel setzen, da es meist eine Grafik UI-Bibliothek ist. Aber wenn ich habe einige C ++ UI-Projekte zu tun, ich mit QT gehen würde, vor allem, weil dies auch eine weit gebrauchte Bibliothek und daher gut gepflegt (alle KDE-Desktop auf der QT gebaut wird) und ich würde für Fragen und Unterstützung Zugang zu einer großen Nutzerbasis hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top