Librairie portable C++ - cherche retours d'expérience

Le
Laurent Pointal
Bonjour,

je recherche une librairie open source me permettant de coder des
applications portables entre différentes plateformes - typiquement
Windows, Linux et MacOS.

Mes besoins à la base sont plutôt liés au réseau (simple tcp) et au
multithreading, mais je pourrais avoir besoin ultérieurement de
fonctionnalités plus avancées (traitements XML par exemple), le but
étant d'éviter d'avoir trop de dépendances différentes (toujours long à
installer/recompiler, trouver la bonne version qui supporte la
plateforme cible, & Co).

Entre ce que je connaissais et ce que je découvre sur le Net ou en
discutant, voici une liste de librairies C++ qui fournissent tout ou
partie de ces services.
Si vous avez utilisé certaines d'entre-elles, pourriez-vous me donner
votre avis dessus: homogénéité, facilité d'utilisation, activité du
développement, fonctionnalités, dépendances externes et facilité de
construction, "intrusion" de la librairie dans le code (ie. simple outil
ou façon de faire très spécifique qu'il faut suivre).
Et si vous connaissez une page qui donne un tableau récapitulatif là
dessus, je suis preneur du lien.


Merci,

L.Pointal.


Note1: j'ai déjà eu à utiliser APR et omniThread.

Note2: en librairies C:
- *threads posix* (en standard sur les Unixs (donc j'espère sur
MaxOS aussi) et existent pour Win32.
http://sourceware.org/pthreads-win32/
- *apr* (Apache Portable Runtime)
http://apr.apache.org/


= Les librairies =

Les "légères", pour le multithreading portable:

- *omniThread* (librairie utilisable indépendamment d'omniOrb)
http://omniorb.sourceforge.net/

- *zthreads*
http://zthread.sourceforge.net/

Les plus lourdes:

- *ace* (The Adaptative Communication Environment)
http://www.cs.wustl.edu/~schmidt/ACE.html

- *boost* - le fameux
http://www.boost.org/

- *poco c++* "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."
http://appinf.com/poco/info/index.html


Et avec la GUI en prime:

- *juce* (Jules' Utility Class Extensions)
http://www.rawmaterialsoftware.com/juce/

- *wxWidgets*
http://www.wxwidgets.org/

- *Qt*
http://trolltech.com/products/qt


et il y en a sûrement d'autres - merci de les signaler
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michael DOUBEZ
Le #312006
Bonjour,

je recherche une librairie open source me permettant de coder des
applications portables entre différentes plateformes - typiquement
Windows, Linux et MacOS.

Mes besoins à la base sont plutôt liés au réseau (simple tcp) et au
multithreading, mais je pourrais avoir besoin ultérieurement de
fonctionnalités plus avancées (traitements XML par exemple), le but
étant d'éviter d'avoir trop de dépendances différentes (toujours long à
installer/recompiler, trouver la bonne version qui supporte la
plateforme cible, & Co).

Entre ce que je connaissais et ce que je découvre sur le Net ou en
discutant, voici une liste de librairies C++ qui fournissent tout ou
partie de ces services.
Si vous avez utilisé certaines d'entre-elles, pourriez-vous me donner
votre avis dessus: homogénéité, facilité d'utilisation, activité du
développement, fonctionnalités, dépendances externes et facilité de
construction, "intrusion" de la librairie dans le code (ie. simple outil
ou façon de faire très spécifique qu'il faut suivre).
Et si vous connaissez une page qui donne un tableau récapitulatif là
dessus, je suis preneur du lien.


J'ai peu d'expérience avec ce genre de librairie donc je ne peux que te
faire part des ragots.

- *ace* (The Adaptative Communication Environment)
http://www.cs.wustl.edu/~schmidt/ACE.html


Reputation d'usine a gaz avec un pauvre integration avec C++.

- *boost* - le fameux
http://www.boost.org/


Pour autant que je sache, pas de support socket.

- *poco c++* "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."
http://appinf.com/poco/info/index.html


Cette lib m'a fait bonne impression. Bien architecturée, bonne interface.

Et avec la GUI en prime:

- *juce* (Jules' Utility Class Extensions)
http://www.rawmaterialsoftware.com/juce/

- *wxWidgets*
http://www.wxwidgets.org/

- *Qt*
http://trolltech.com/products/qt


...et il y en a sûrement d'autres - merci de les signaler...


Il y a aussi la bibliothèque gnome (glib). L'avantage de glib serait
l'interoperabilité avec d'autre composants aussi fondés sur la glib et
aussi un bon support d'nternationnalization.

D'une manière général, je pense que c'est une question de goût
personnel. Le problème avec les frameworks etant que dès qu'on l'utilise
on est lié à celui ci.

Michael

Michel Decima
Le #312003
Bonjour,

je recherche une librairie open source me permettant de coder des
applications portables entre différentes plateformes - typiquement
Windows, Linux et MacOS.
[snip]


- *boost* - le fameux
http://www.boost.org/


Pour autant que je sache, pas de support socket.


La bibliotheque asio a ete revue et acceptée l'année derniere, mais
elle ne fait pas partie de la derniere release (et je ne sais pas pourquoi).

http://asio.sourceforge.net/
asio is a cross-platform C++ library for network programming that
provides developers with a consistent asynchronous I/O model using a
modern C++ approach.


Laurent Pointal
Le #312000
Trouvé un lien qui liste des librairies dans un tas de domaines:
http://www.freebyte.com/programming/cpp/


Entre autre pour le librairies d'interfaces graphiques:
Free C++ GUI Libraries:
http://www.freebyte.com/programming/cpp/#freecppguilibraries

Qui contient un lien vers "The GUI toolit, Framework Page":
http://www.geocities.com/SiliconValley/Vista/7184/guitool.html
(spécifique C++: http://www.atai.org/guitool/#free_c )



A+

Laurent
Doms
Le #311963
Bonjour,

le layer 1 de la version C++ de notre middleware Omiscid pourrait
peut-etre repondre à tes besoins. License MIT.
http://omiscid.gforge.inria.fr/

Doms.
Publicité
Poster une réponse
Anonyme