IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Cocoa/ObjectiveC versus Qt/C++


Sujet :

C++

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut Cocoa/ObjectiveC versus Qt/C++
    hello,

    Je suis de plus en plus en train de regarder ObjectiveC et Cocoa,
    et je demandais si vous aviez des avis dessus en comparaison a Qt/C++ ?

    Merci et a+

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    Hier, j'ai essayé plus en détails Cocoa et Objective C et ca a l'air pas mal du tout. Objective C est assez lisible meme si ca fait un peu l'effet [][[[[[]]]]].
    Je n'aime pas trop l'assignation graphique des events ou des attributs. J'en avais enlevé un par hasard sans faire vraiment expres, mais bon ca doit etre l'habitude...

    en fait je crois que ce qui manque le plus c'est la portabilité en fait, hier je voulais faire un petit programme, mais ... et pour linux et windows ?
    ... et mince !

    Meme si ca me fait tres envie de decouvrir Objective C, et je pense qu'il a pas mal d'avantages, il lui manque principalement la portabilité.

    et pour vous ?

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    en tous les cas, je sais ou Qt a puisé son inspiration maintenant ...

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Citation Envoyé par epsilon68
    en tous les cas, je sais ou Qt a puisé son inspiration maintenant ...
    Je ne crois pas que le forum C++ soit le bon.

    Thierry

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Qt est bien plus vieux que Cocoa.

    Cocoa n'existe que sous Mac OS X, normal c'est l'API native de Mac OS X pour faire des fenêtres.
    Par contre, aucun problème pour utiliser Objective C où que ce soit...

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    Citation Envoyé par loufoque
    Qt est bien plus vieux que Cocoa.
    Cocoa n'existe que sous Mac OS X, normal c'est l'API native de Mac OS X pour faire des fenêtres.
    Par contre, aucun problème pour utiliser Objective C où que ce soit...
    non pas du tout,
    cocoa est en fait NextStep et est tres vieux, plus que Qt

  7. #7
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 392
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 392
    Points : 20 494
    Points
    20 494
    Par défaut
    Citation Envoyé par epsilon68
    hello,

    Je suis de plus en plus en train de regarder ObjectiveC et Cocoa,
    et je demandais si vous aviez des avis dessus en comparaison a Qt/C++ ?

    Merci et a+
    Faut pas oublier non plus le coté licence...parce qu'il me semble que Qt ne soit pas gratuit

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par Mat.M
    Faut pas oublier non plus le coté licence...parce qu'il me semble que Qt ne soit pas gratuit
    Si, il y a une version gratuite, et même open source.

  9. #9
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Cocoa est basé sur NextStep mais n'est pas NextStep.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    Citation Envoyé par loufoque
    Cocoa est basé sur NextStep mais n'est pas NextStep.
    ... rattrapes toi comme tu peux

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    Objective C est quand meme vraiment un beau language,
    en plus on peut le mixer avec C++ (Objective C++)

    Personne n'a penser a l'utiliser ?
    finalement tout le monde critique la solution de trolltech sur les signals/slots,
    mais au bout du compte, pourquoi ne pas choisir un language qui possede ces facilités ?

    Au final, je pense quand meme que l'atout multi-plateforme est celui qui prime, mais comme m'avait dit quelqu'un sur un autre post (Qt vs Boost) il est plus que mega important de bien separer l'UI et le code metier... on sait jamais si on a besoin d'un portage natif ....

    Vos avis ?

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    J'ai lu un peu partout que Objective C manque de performances....
    et que ObjectiveC++ est super long a compiler et point de portabilité.

    Hooo la la ca refroidit pas mal tout ca !!!

  13. #13
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Objective C++ est sans intérêt.
    Objective C avec C++ ça va pas bien ensemble, c'est une mauvaise idée de les combiner à mon avis.

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    Citation Envoyé par loufoque
    Objective C++ est sans intérêt.
    Objective C avec C++ ça va pas bien ensemble, c'est une mauvaise idée de les combiner à mon avis.
    disons que ObjectiveC en lui-meme me seduit (les messages etc...)
    mais me lier a macosx .... c'est tout autre.

    mon avis maintenant, faire le maximum en Qt, et puis s'il y a vraiment des trucs tres specifiques pour mac alors a ce moment utiliser objective C++ et cocoa pour la chose.

    D'autre part j'ai vu des benchmarks (oui je sais c'est toujours relatif) et le retain / release est pénalisant pour certains cas.

    J'aime le C++ qui permet de choisir ! son universalité et sa puissance

    a+

  15. #15
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Pour la deuxième fois, Objective C est disponible sur un grand nombre de plate-formes.
    C'est dans GCC, donc a priori c'est dispo sur toutes les architectures existantes pas trop exotiques.

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    Citation Envoyé par loufoque
    Pour la deuxième fois, Objective C est disponible sur un grand nombre de plate-formes.
    C'est dans GCC, donc a priori c'est dispo sur toutes les architectures existantes pas trop exotiques.
    ObjectiveC++ tout seul ne m'avancera pas, il faut le coupler avec du gui,
    et dans ce cas la portabilité ... pioup disparue.

    ... Qt/C++ est plus universel

    ... mais je souhaite que ObjectiveC++ (et un toolkit multi-plateforme) se developpe dans le future. (GnuStep est a la traine et n'est pas compatible ObjectiveC++)

  17. #17
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Par curiosité, comme je ne connais pas ce langage, quels sont les points qui semblent intéressants, comparé au C++ ?

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 28
    Points : 34
    Points
    34
    Par défaut
    Personellement, sous Mac, j'utilise Cocoa/Objective-C++ pour une application, et Carbon/C++ pour une autre. La premiere est uniquement Mac, la seconde est multi plateformes.
    Voila en vrac mes +/- sur Cocoa/Objective-C

    + Prototyping rapide de l'UI. Avec Cocoa/Interface Builder on peut generer une GUI tres riche sans le moindre bout de code.
    + Beaucoup de fonctionalites GUI gerees par les bindings -> moins de code repetitif typique de la prog GUI. Par exemple, des trucs du genre un slider et un champ texte qui controlent la meme valeur et qui doivent donc etre synchronises impliquent typiquement du code sans interet. Avec les bindings, plus de code, ca marche tout seul (en passant aux bindings, j'ai jete la moitie de mon code GUI).
    - A la maintenance, il devient difficile de savoir quels sont les bindings presents dans une GUI. Tout ca est dans des forms associes aux objet visuels et il est pas evident de s'y retrouver.
    + Objective-C est facile a utiliser et le concept de messages (sortes de methodes recherchees dans l'objet destination au moment de l'appel) est tres souple dans la mesure ou on peut envoyer des messages a n'importe quel objet qui l'ignorera s'il ne le comprend pas.
    - Le revers de la medaille c'est que, quand le prog grossi, on perd le controle et comme les erreurs du genre appel d'une methode inexistante (ne serait-ce qu'a cause d'une typo), ou passage de parametres errones ne sont pas detectees au moment de la compilation (en tout cas pas toujours), on cree des bugs qui ne seront decouverts qu'au run-time (avec de la chance).
    + Si on developpe une appli grand public sous Mac, il est vraiment difficile de contourner Cocoa: les utilisateurs Mac attendent la qualite Cocoa dans leur GUI et on ne peut eviter ca que pour des applications tres verticales.

    En resume:
    - Si tu veux faire une application purement sous Mac et de taille moyenne, Cocoa/Objective-C est de loin la meilleure solution.
    - Si tu veux du cross plateformes, le mieux est de separer completement ton noyau applicatif de ton code GUI, avec une API bien definie. Et d'implementer une version native de chaque GUI. Dans ce cas la version Mac peut etre en Cocoa (et c'est la qu'Objective-C++ devient utile: pour faire le point entre le code GUI et le code application, qui lui est en C++).
    - Si tu veux faire une application pour un marche vertical ou pour une audience limitee, tu peux utiliser un toolkit cross-plateformes comme Qt (moi je prefere dans ce cas FLTK).

    Juste mon avis...

  19. #19
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    Citation Envoyé par JolyLoic
    Par curiosité, comme je ne connais pas ce langage, quels sont les points qui semblent intéressants, comparé au C++ ?
    Pour moi, le point le plus attirant est l'envoi de message.
    ... aussi je trouve la critique ci-dessus tres tres complete. Merci beaucoup.

    Par contre si on implemente la partie metier dans chaque gui de chaque plateforme, ca devient vite ingerable, et j'en ai fait l'experience a l'epoque pour un logiciel sur Mac et PC.

    Pour moi ca serait plutot Qt maintenant et ses signals/slots.
    et surtout bien separer la partie gui et metier au cas ou (Qt ne serait plus a la "mode")

  20. #20
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par bricerive
    - Si tu veux du cross plateformes, le mieux est de separer completement ton noyau applicatif de ton code GUI, avec une API bien definie. Et d'implementer une version native de chaque GUI. Dans ce cas la version Mac peut etre en Cocoa (et c'est la qu'Objective-C++ devient utile: pour faire le point entre le code GUI et le code application, qui lui est en C++).
    - Si tu veux faire une application pour un marche vertical ou pour une audience limitee, tu peux utiliser un toolkit cross-plateformes comme Qt (moi je prefere dans ce cas FLTK).
    Pourquoi ne pas prendre Qt pour du cross platform sachant que c'est fait pour du cross platform ?
    Et pourquoi limiter Qt à une audience limitée ???

Discussions similaires

  1. [Débat] MERISE versus UML ? Avenir de MERISE ?
    Par Matthieu Brucher dans le forum Méthodes
    Réponses: 51
    Dernier message: 15/02/2022, 17h32
  2. C# versus Java
    Par laffreuxthomas dans le forum C#
    Réponses: 368
    Dernier message: 30/03/2019, 22h59
  3. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 16h50
  4. Pb SQL versus ACCESS
    Par NOTARO dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 20/07/2004, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo