• [^] # Re: .

    Posté par . En réponse au message mono et QT. Évalué à 5.

    Cela dit en C# tu peux appeler facilement des libs natives.

    Normalement oui mais Qt n'est pas tout à fait du C++. Le code doit d'abord passer par un préprocesseur (moc) pour donner du vrai C++. L'interfacage n'est donc pas forcément trivial. D'ailleurs les bindings Qt/KDE utilisent souvent QtC, une api en C qui encapsule tout ce bordel.

    Les bindings récents pour Qt/KDE utilisent Smoke/Korundum (voir http://developer.kde.org/language-bindings/)(...) qui est généré à partir des en têtes des libs Qt/KDE. Ca permet d'éviter d'avoir à se taper l'implémentation des bindings à la main et la migration à chaque changement d'API.

    Sinon Portable.NET et Mono ont les mêmes objectifs, cad fournir une plateforme libre de développement compatible avec celle de MS.

    Il y a quand même quelques divergences d'opinions:

    - Mono vise une compatibilité maximale avec les outils MS. Il implémente donc beaucoup de choses qui ne font pas partie des standards ECMA (ASP.NET, VB.NET, etc) et qui peuvent potentiellement poser de problèmes légaux. DotGnu ne se base que sur ce qui a été standardisé.

    - Toujours d'un point de vue légal, les developpeurs de Mono n'hésitent pas à poser directement des questions à MS sur les points dont ils ont besoins pour leur implémentation. DotGnu applique une politique très stricte, semblable à celle de Samba : On ne touche à aucun document, aucune information, en provenance de MS avant d'avoir vérifié soigneusement les conditions d'utilisation.

    - Mono mise beaucoup sur GTK# comme toolkit graphique et sur l'interface avec Gnome. DotGnu mise System.Windows.Forms le namespace utilisé aussi par MS.

    - Mono est sous license BSD, DotGnu sous GPL/LGPL

    - Mono est fortement soutenu par Novell. DotGnu ne semble pas avoir de grosse boite derrière lui.