Bonjour,
J'ai essayé, testé rapidement la lib de serialization de boost (dans le cadre d'un jeu vidéo, STR, je précise) et a priori à part le fait qu'il faille déclarer
friend class boost::serialization::access;
dans la classe a serializer, je ne vois pas trop de problème avec cette lib. Pourtant j'ai eu des echos lointains sur des forums comme quoi c'était loin d'être l'idéal. Je n'ai pas trouvé de détails ou d'autres commentaires là dessus, je ne sais pas si il y a un souci de performance par exemple (bon a savoir pour un jeu...).
J'aimerai donc avoir vos impressions sur l'utilisation de cette lib, quelles en sont les contraintes, quels pièges sont à éviter,etc.
Je commence moi-même en indiquant ce que j'ai remarqué qui pourrait géner :
- apparamment, la syntaxe de serialization dans le cas d'une archive XML doit être différente, brisant la compatibilitée avec les autres archives. Je n'ai pas encore essayé cette archive, est-ce que quelq'un peut confirmer?
- d'après ce que j'ai compris, si je serialize des données dans un fichier sur une plateforme donnée, le fichier sera déserializable par une autre application sur une autre plateforme, dés le moment ou les deux applications utilisent la même version de boost(pas de probleme d'endian);
a) est-ceque vous pouvez confirmer?
b) si oui, utiliser le format binaire d'un objet pour le transferer par le réseau est-il aussi efficace (niveau nombre de données a envoyer) que de passer par un bitstream fournis par la lib réseau (qui s'efforcera de réduire les dépenses de bits)? Est-ce que l'archive binaire réduite les données au minimum?
Et dernière question : à part l'écriture "à la main", est-ce qu'il y a une autre alternative interessante en matière de lib de serialization en c++? Je n'en ai pas trouvé jusqu'ici...
Partager