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+
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+
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 ?
en tous les cas, je sais ou Qt a puisé son inspiration maintenant ...
Je ne crois pas que le forum C++ soit le bon.Envoyé par epsilon68
Thierry
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,Envoyé par loufoque
cocoa est en fait NextStep et est tres vieux, plus que Qt
Faut pas oublier non plus le coté licence...parce qu'il me semble que Qt ne soit pas gratuitEnvoyé par epsilon68
Bonjour,
Si, il y a une version gratuite, et même open source.Envoyé par Mat.M
Cocoa est basé sur NextStep mais n'est pas NextStep.
... rattrapes toi comme tu peuxEnvoyé par loufoque
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 ?
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 !!!
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...)Envoyé par loufoque
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+
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,Envoyé par loufoque
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++)
Par curiosité, comme je ne connais pas ce langage, quels sont les points qui semblent intéressants, comparé au C++ ?
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...
Pour moi, le point le plus attirant est l'envoi de message.Envoyé par JolyLoic
... 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")
Pourquoi ne pas prendre Qt pour du cross platform sachant que c'est fait pour du cross platform ?Envoyé par bricerive
Et pourquoi limiter Qt à une audience limitée ???
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager