* Agence Drupal Le Havre
***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe
Agence Drupal Le Havre
Article:
Une interface de programmation et une bibliothèque logicielle multiplate-forme publiée sous licence libre (LGPL) est intitulée GObject , cette dernière a pour usage de manipuler des objets en langage de programmation C, ainsi qu'une palette d'objets élémentaires. Elle est également présente dans divers langages de programmation. Le plus grand nombre des langages de programmation actuelles (langages de haut niveau) proposent leur propre système d'objets, ainsi que des propriétés capitales pour la gestion des données, de la mémoire et des algorithmes changeant le code de bas niveau. Tandis que le reste de la GLib vise d'apporter au C ces propriétés haut-niveau, GObject y encarte quant à lui la programmation orientée objet (POO). L'architecture de GObject revoie à celle d'Objective-C, rendant possible le développement d'applicatifs sous Mac OS X (cf. Cocoa). GObject, classe majeure de toutes les classes-objet de GTK+ 3.0/Gnome 3, est à présent au cœur de toutes les applications construites depuis ces deux bibliothèques graphiques. La bibliothèque GObject, dépendant strictement au libc (cf. Bibliothèque standard de C/glibc) et de GLib, présente des foncionnalités aussi diverses que la programmation par événements, des adaptateurs de type, un système de gestion d'exceptions et un algorithme de ramasse-miettes. Les types d'objet sont tout d'abord construits par le Moteur d'exécution. Cela ate aux classes objet une aptitude d'analyse, quoiqu'au préjudice de la sécurité du typage. La structure spéciale de GObject défend la faculté d'héritage multiple, au contraire de C++; on peut pallier cette restriction grâce à un protocole de classes d'interface comme on en trouve en Java ou en C#. En GObject, toute classe est implémentée par un minimum de deux types de données abstraits (des structures dans du langage C) : l'une inclue les informations concernant la classe, par exemple les techniques ou la table virtuelle des appels et les variables statiques reliées ; la deuxième inclue les instanciations, par exemple les variables d'instance. Contrairement aux langages C++, C# ou Java, il n'y a pas de spécificateurs de déterminée comme public, protected, private ; or on peut constamment implémenter les objets de classes réservées (private) au moyen de type « structure » du langage C. Ces structures réservées n'ont pas à être indiquées dans les fichiers d'en-tête de la classe. Afin de remplacer une classe de GObject, il faut régulièrement ré-écrire à la main nombreux macros et fonction d'initialisation. Un outil a été mis au point afin de faciliter l'écriture de classes, GOB2 (GObjectBuilder), dont la syntaxe tire beaucoup à Java. GOB2 figure comme un préprocesseur du compilateur C, et engendre alors du code C. Une option à GOB2 est le langage de programmation Vala, qui peut, en plus du C, engendrer du code C#. Le manque d'espace de noms, l'impossibilité d'ajouter d'opérateurs et techniques tout comme la gestion encore « artisanale » des exceptions, sont les majeures limitations du frameworkGObject.