Bonjour Paul,
Hum... Je ne suis vraiment pas un spécialiste VCL D'autant que souvent les codes que j'ai étudiés font appel aux API. Je me refuse à utiliser ShellApi au maximum avec Lazarus.
Lazarus propose une autre solution pour les composants graphiques indépendemment des widgets des OS. Elle n'est pas aboutie et je ne sais pas si elle est viable, ni même nécessaire :
FpGUI.
Mais je le répète. La situation de Jean -si j'ai bien compris- me semble être celle du portage d'un projet Windows vers Linux. Mais dans ce cas (celui d'un portage de Windows vers Linux), le développement Windows est de fait la référence
et la plateforme méthodologique de départ. C'est la différence de méthode qu'il y a entre un "cross-compilateur" (un cross-compileur ?) Delphien et un utilisateur de Lazarus. Je suis autant de temps sur Nux que sur Windows et bientôt -faut rattraper le temps- sous Mac. Je n'initie pas spécialement mes projets sous Win, plutôt en général d'ailleurs sous Nux...
Donc je prends les OS tels qu'ils sont. Je me moque de savoir si l'évènement A et avant B sous Nux et inversement sous Win. Je teste mes projets avec mon IDE dans chaque environnement. S'il y a un problème sous Nux,
j'ouvre mon IDE sous Nux : il est en général facilement identifiable puisque
je dispose de toutes les ressources associées à l'IDE dans l'OS où il apparaît et s'il le faut, je différencie et/ou permute le code avec un {$IFDEF linux ou windows} et c'est fini...
L'exemple que vous prenez est typique. Vous utilisez cette méthode parce que vous êtes obligé de cross-compiler. Sinon cela devient invivable, je m'en suis rendu compte car je n'ai pas votre savoir-faire sur Delphi. D'un autre côté, s'il faut réaliser le travail que vous me détaillez (les CrossControls) avant de commencer à programmer, bien qu'amoureux du Pascal, je risque de m'en détacher. Voila pourquoi actuellement ma préférence va à Lazarus...
Et "philosophiquement' je me demande pourquoi vous voulez faire "exactement marcher" un Linux comme un Windows ou un Mac. Je crois que la bonne approche, c'est le tour de force
équilibré qu'est en train de réussir Lazarus... Beaucoup de codes communs, tout en respectant la "liberté" et la spécificité de chaque OS, et en les considérant tous comme égaux et indispensables. Je l'ai écrit de nombreuses fois : c'est un challenge ambitieux et une approche intellectuellement très satisfaisante, brillante même. La difficulté, c'est le respect des points d'équilibre et donc la cohésion des approches et méthodes de développements. Là des fois, il y a quelques errances... dont nous subissons les conséquences. Mais en ce moment, "on" se porte plutôt bien. Alors il est vrai que quand un "habitué à Delphi" teste un Lazarus, il ne voit que par le prisme de Windows et on peut reconnaître que Lazarus est moins spécialisé que Delphi pour cet OS. Mais, inversement, quand "j'approche" Delphi (IDE purement Win 32) pour un développement Mac OS64... alors là, le Lazarusien est aussi déçu que son Collègue habitué à Delphi... et je ne parle pas du Linuxien.
Je suis donc de l'avis de Rémi : pour un programmeur qui développe pour les 3 environnements sans en privilégier aucun, il y a Java et Lazarus (peut-être C++/QT)... et pour avoir testé les 2 premiers, j'estime qu'avec le second -tel qu'il est actuellement- on peut faire aussi bien dans de nombreux cas -on va rester modeste- qu'avec le premier, la référence en la matière. C'est une chance, je trouve, quand on est un Pascalien "natif".
Il est vrai -je le constate comme les différences des OS- que Lazarus et Delphi divergent de plus en plus... et j'en reviens à votre constat premier : qu'il eût été souhaitable d'écarter un peu VCL de Windows... j'en suis certain. Mais tel ne fut pas le cas et tel ne le sera-t-elle probablement jamais, car FMX et VCL, c'est... sans rapport... et Win32 ne semble plus être l'avenir de Windows.
Cordialement. Gilles
1 |
0 |