• # du déjà vu

    Posté par (site web personnel) . En réponse à la dépêche Toutes les API GNOME dans tous les langages et pour bientôt ?. Évalué à 8.

    Autant je trouve l'approche intéressante (introspection), autant je trouve qu'il n'y a rien de nouveau sous le soleil dans les objectifs.

    Sans vouloir encore et toujours la ramener à Mono, mais ils génèrent leurs bindings pour GTK+, Gnome et autre GStreamer en utilisant depuis le début un outil qui répond aux même objectifs : créer automatiquement les bindings.

    L'utilitaire en question, c'est GAPI : http://www.mono-project.com/GAPI(...)
    L'approche est différente puisque ce sont les en-tête .h qui sont parsés et non un système d'introspection. Le résultat est le même (bien qu'on puisse récupérer un peu plus d'info dans le .h, comme le nom des arguments) et n'est plus du tout expérimental dans Mono.

    De plus l'utilitaire génère une description au format XML des API, un 2ème utilitaire permet de "patcher" au besoin (parcque ce n'est jamais parfait, ou pour modifier le design pour qu'il colle un peu plus au langage cible) et enfin un autre utilitaire qui génère le binding à partir du document XML. Vous l'aurez compris il est tout à fait possible de réutiliser ces outils pour générer des bindings dans un autre langage.
    (Ah oui au fait : avec IronPython on a déjà accès à tous les bindings Gnome automatiquement ;) )