Builder 6, 2007, ou 2009 ?
Bonjour,
J'ai une application d�velopp�e avec CBuilder 6, qui doit, � la fin du mois, �tre r��crite et am�lior�e sur une p�riode courte. En gros on se donne six semaines � deux d�veloppeurs pour refaire enti�rement une application d'environ 40 000 lignes de code (dense), et lui ajouter un certain nombre de modules et de fonctionnalit�s.
L'interface actuelle utilise les composants VCL standard (avec quelques d�riv�s maison) et un composant externe Virtual Treeview, de SoftGems, dont nous faisons une consommation importante. L'id�e est de conserver ces �l�ments d'interface (apprendre un autre framework prendrait trop de temps), mais de limiter l'utilisation des composants non visuels de Borland, en leur pr�f�rant la STL (STLPort autant que possible) et Boost (� des fins d'�volution future). Par ailleurs, la question de la traduction du logiciel en des langues exotiques (unicode ou utf) est pos�e, et nous serons certainement amen�s � �liminer au maximum le recours aux AnsiString dans les donn�es...
J'ajoute que le logiciel n'utilise pas de base de donn�es (il fait quelques requ�tes � une base MS SQL externe), mais effectue des calculs lourds sur de gros fichiers binaires. Pour optimiser ces calculs, nous utilisons aujourd'hui AQTime 3.
Dans ce contexte, quelle version utiliser? CBuilder 6, Borland 2007 ou Borland 2009.
1- CBuilder 6, pr�sente l'avantage d'�tre utilis� aujourd'hui, il n'y a donc rien � apprendre de neuf. En revanche, la VCL ne g�re pas les langues multioctets, elle int�gre une STL ancienne, mais des pans entiers de Boost ne fonctionnent pas (par exemple le lambda calcul, ou les regexp), et il est possible qu'on 'rate' certaines am�liorations des versions suivantes
2- Borland 2007 semble assez proche de CBuilder 6, mais supporte mieux boost (est ce vrai?), m�me si elle utilise la STL de Dinkumware (peut on la remplacer?) Apparemment, elle pr�sente assez peu de changements par rapport � Builder 6.
3- Borland 2009 est apparemment plus compatible avec Boost, et g�re mieux les langues exotiques. Mais la conversion d'un projet CBuilder 6 n'est elle pas difficile? Quid de la portabilit� de Virtual Treeview? Et puis, ca vient de sortir, est ce stable?
Question subsidiaire : quid du profiler? AQTime 3 suffit, une version plus moderne?
Voila, je suis � la p�che aux id�es... Que feriez vous � ma place?
Merci d'avance
Francois
Builder 6 - 2007 et les librairies
Apr�s quelques tests il semble qu'on s'oriente finalement vers une "non migration"...
Pour 2009, il semble effectivement que la version Trial ne permette pas l'installation de Virtual Tree View. Mais j'ai lu sur les newsgroups que ca marchait.
En revanche, nous avons effectu� des tests sur 2007 (Pro, on en a une version). VT s'installe tr�s facilement (la derni�re version, du moins, apr�s pas mal d'ann�es d'absence, il semble que quelqu'un se soit d�cid� � reprendre la maintenance, et c'est une dr�lement bonne id�e!). L'environnement n'est pas mal : assez proche de Builder 6 pour n'�tre pas trop d�routant, la STL est pass�e de STLPort � Dinkumware (mouais... � des fins de "compatibilit� Microsoft, allez comprendre!), pas l'ombre d'un Boost � l'horizon (en fait un certain nombre de librairies "header" fonctionnent, certaines ne marchent pas, et on peut compiler certaines des compil�es...).
Ce qui manque, c'est un peu les trucs en plus... (en dehors de la compatibilit� .NET, dont je me moque: c'est comme la CLX dans Builder 6, �a...) Il y a bien des classes suppl�mentaires dans la VCL, et des am�liorations des composants existants, mais la doc sur le sujet est �trangement absente...
L� o� ca se corse, c'est quand on veut porter un projet existant... D'abord, si mon cher Virtual TreeView compile bien dans les deux versions, il faut, en fait, utiliser un package diff�rent en 2007 et en Builder 6... Oui mais... moi j'ai des composants maisons, dont un qui d�rive de VT... Ah ben alors faut refaire le paquet...
Jusque l� rien de grave... Sauf que... quand on refait le paquet et qu'on recompile l'application, ce bon 2007 prend note que certains composants VCL, dont d�rivent mes composants, ont chang�, et met � jour les formes en cons�quence, en ajoutant de nouvelles valeurs par d�faut des propri�t�s... et alors, forc�ment, ca ne compile plus sur Builder 6... L'application ainsi port�e, et les composants maison qu'elle utilise sont maintenant s�par�s des autres apps maison (qui sont encore en Builder 6)
A l'inverse, une (grosse) application "pur Borland" sans composants maison, se porte en quelques minutes...
En pratique, ceci signifie (pour nous au moins) que passer en 2007 (ou 2009, je doute que ce soit diff�rent) implique une rupture au niveau des composants maison (qui se mettent � exister en 2 version, suivant les programmes qui les utilisent).
La conclusion de tout ca : c'est qu'on va probablement d�marrer sous Builder 6, en testant la nouvelle application sur 2007 au cas o�... On n'a pas vraiment un meilleur produit sur 2007, et on perd la compatibilit� (et la possibilit� de r�utiliser) avec les applications et composants maison builder 6...
Francois