Question

J'ai une quantité considérable d'expérience avec , Boost et wxWidgets . J'ai récemment trouvé le POCO bibliothèques . Quelqu'un at-il une expérience avec eux et comment ils se comparent à ACE, Boost et wxWidgets en ce qui concerne les performances et la fiabilité?

Je suis particulièrement intéressé par le remplacement ACE avec POCO. Je suis incapable d'obtenir ACE à compiler avec VS2008 avec un objectif x64. J'utilise la plupart du temps ACE_Task donc je pense que je peux remplacer ceux avec les fils de Poco et les files d'attente de messages.

D'autres parties de POCO qui me intéressent sont les HTTPServer, HTTPClient et LayeredConfiguration. Ces bibliothèques sont similaires aux bibliothèques Boost et wxWidgets, mais j'essaie de limiter mon utilisation de wxWidgets aux composants de l'interface graphique et les bibliothèques Boost comparables sont ... difficiles.

Je suis intéressé par quelqu'un d'expérience peuvent partager à propos de Poco, bon ou mauvais.

Était-ce utile?

La solution

Je l'ai utilisé des parties de POCO maintenant et encore et trouvé pour être un lib très agréable. Je ACE en grande partie abandonné un certain nombre d'années, mais POCO contient quelques-uns des mêmes motifs -. Tâche, réacteur, etc. Je ne l'ai jamais eu de problèmes avec lui donc je dois supposer qu'il est stable

Certains aspects que j'aime:

  • est une hiérarchie de POO assez bien intégrée pour que les composants fonctionnent bien les uns avec les autres. Il a une sensation beaucoup plus cohérente que quelque chose comme Boost qui est plutôt fragmentaire.

  • le code source est disponible et très clair. Vous n'avez pas besoin de consacrer de gros blocs de temps pour comprendre ce qu'il fait (ACE, au moins dernier je regardais à la source) ou un assistant de modèle (Boost).

  • Composants collent près à la norme C ++. Des exceptions sont dérivées de std :: exception; ils ne réinventent classe encore-une autre chaîne, etc.

  • Il est surprenant complet. Il y a beaucoup plus là que semble à première vue.

L'inconvénient:

  • Une question de préférence personnelle, mais les auteurs tiennent à peu près à un modèle de fichier une classe par tête de sorte que vous finissez par y compris un grand nombre de fichiers différents.

  • Documentation limitée. pages API de type La plupart du temps doxygen et quelques fichiers PDF pointant vers des exemples de sources. Il est utilisable, mais compte tenu de la taille de la lib, il est d'abord difficile à comprendre si vous faites la meilleure utilisation possible des composants.

  • S'il y a une communauté active construite autour d'elle, je ne trouvais. Le paquet est maintenu par une société européenne et ils avaient un wiki mais je ne trouve pas que active ou utile.

Somme toute, l'inconvénient est assez mineur. Je pense qu'il est une très bonne bibliothèque et je le recommande vivement.

Autres conseils

Je ne l'ai jamais utilisé ACE, mais j'utilisé Boost et Poco. J'aime vraiment le style de codage de Poco. Les paquets sont compatibles et le code source est facile à lire. Ils sont fou comme modèle ne boost. Dans mon expérience, je passe des heures à lire comment utiliser boost - paquet de sérialisation, conteneur carte pointeur etc- et peu de temps à lire comment utiliser des trucs Poco. Je dirais qu'ils ont une bonne conception et utilisent des modèles en cas de besoin.

Du côté négatif, ils ont la documentation de l'API, mais ils n'ont pas une documentation complète sur la façon dont vous utilisez un paquet. Pour que vous regardez habituellement à un exemple de code source ou leur tests unitaires du code source.

Je le HTTPServer travailler sous Windows / Linux sans erreurs évidentes.

craie Il comme une expérience positive.

Pour moi, il semble stimuler a le plus de traction pour les nouvelles bibliothèques C ++ et le fait que beaucoup d'entre eux se sont acceptés dans la future norme C ++ parle pour lui-même.

J'utilise ACE et moi-même Boost et les raisons pour lesquelles je les ai choisis sont qu'ils sont matures (en particulier ACE) ont une grande forte communauté d'utilisateurs qui assure qu'ils seront maintenus et améliorés et que je peux obtenir une bonne qualité soutien professionnel. Nous utilisons y remédier pour notre prise en charge ACE / TAO et sont très satisfaits.

ACE est une bibliothèque beaucoup plus ancienne que Boost et l'un de ses objectifs est de soutenir plus exotiques (comme les plates-formes embarquées) ne pas utiliser tant bleeding edge C ++ technologie Boost. J'utilise un mélange d'ACE et Boost et je suis très heureux avec cette combinaison.

Je ne sais pas pourquoi vous mettez wxWidgets dans le match, car il est la plupart du temps une bibliothèque d'interface utilisateur graphique. Mais si je devais faire quelques projets C ++ de l'interface utilisateur, j'aller avec QT , la plupart du temps parce que cela est aussi un très bibliothèque utilisée (tous le bureau KDE est construit sur le dessus de l'intervalle QT) et donc bien entretenu et j'avoir accès à une large base d'utilisateurs pour les questions et de soutien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top