• [^] # Re: Harmonisation

    Posté par . En réponse à la dépêche Sortie de Blitzen 0.0.8. Évalué à 5.

    Je ne fréquente pas du tout la mailling-list de Vala, c'est la première fois que je poste dessus. En effet, j'ai préféré attendre d'avoir un feature set minimal avant de parler de Blitzen. Maintenant que j'ai presque fini de jeter les bases que le projet commence à ressembler à quelque chose, j'ai décidé qu'il était temps d'en parler aux devs de Vala themselves et également aux différentes personnes qui s'y intéressent, d'où le post sur la mailling list.

    En ce qui concerne Gtkaml, je ne connaissais absolument pas. Je viens de regarder ce que c'est, et ça ne me semble pas convenir à ce que je souhaite mettre en place. Gtkaml mélange le code et l'UI. Ce n'est pas ce que je souhaite faire. D'autre part, c'est Vala-only alors que GtkBuilder est intégré à Gtk et utilisable dans tous les langages qui ont un binding Gtk. Gtkaml est un générateur de Vala à partir d'une syntaxe XML. Très franchement, mis à part pour du prototypage rapide, je trouve que c'est une très mauvaise idée. En plus, il faut régler le parseur avec un fichier ini, pour lui apprendre quelles sont les méthodes à utiliser. C'est à des années lumières de ce que je veux faire.

    StkBuilder est beaucoup plus proche de GtkBuilder: C'est uniquement un moyen de décrire un interface. Ils différent seulement par quelques éléments de syntaxe, mais l'esprit est le même. La principale différence entre StkBuilder et GtkBuilder est que StkBuilder vise a automatiser le maximum de choses, et surtout construire un interface qui s'appuie sur une classe, en plaçant des pointeurs sur les objets construits dans les propriétés de cette classe, alors que GtkBuilder donne un pointeur sur une interface abstraite qu'il faut interroger pour récupérer un pointeur sur l'objet avec lequel on souhaite travailler.

    D'autre part, StkBuilder n'est pas vraiment lié au XML. StkBuilder est coupé en deux: Une partie qui construit une représentation abstraite de l'interface et une autre partie qui utilise cette représentation abstraite pour instancier les objets à la demande. Seule la première partie "voit" le XML. Si passer à JSON ou tout autre chose intéressait quelqu'un, il lui serait tout à fait possible d'écrire un parseur JSON qui traduise le JSON dans la représentation abstraite utilisée par StkBuilder. Ceci dit, ce n'est vraiment pas une priorité ;)