|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 |
|
Membre confirmé
![]() Inscription : septembre 2004 Messages : 333 ![]() |
Je ne sais pas si sa peut t'aider, mais je suis tomber par hasard sur cet article .
|
|
|
00
|
|
|
#22 |
|
Membre éclairé
![]() Jérémy Ingénieur développement logiciels Inscription : mai 2005 Messages : 513 ![]() |
le top pour développez sous MacOS (uniquement) sans trop ce soucier de la portabilité c'est les couples:
_ C++ / Carbon _ Objective-C / Cocoa si tu veux faire des appli, performante et rapide c'est le choix pour lequel tu dois opter. si tu veux plus faire de la portabilité tu peux toujours utilisé Java (surtout que comme signaler tu peux utiliser Cocoa avec Java)
__________________
Jérémy Ingénieur Conception et Développement |
|
00
|
|
|
#23 |
|
Membre Expert
![]() ![]() Inscription : septembre 2006 Messages : 1 036 ![]() |
Sincèrement, ce genre de question métaphysique (que l'on a tous eue, et qui est normale) n'a plus sa place aujourd'hui. Je m'explique.
Actuellement les applications sont de plus en plus réparties : répartition des contraintes, répartition du code au sein de la même machine sous forme de client/serveur locaux ou encore répartition d'un programme entre plusieurs ordinateurs voire plusieurs réseaux. Je pense fondamentalement qu'il faut s'efforcer le plus possible pour concevoir les programmes avec les bons outils. Exemple : si ton application comporte une partie très critique en termes de temps d'exécution, rien ne t'empêche de l'écrire en C, par exemple, puis de faire l'interface graphique (voire seulement une partie de l'interface) en Java Swing, ou encore les manipulations sur des données ASCII en Perl, et faire communiquer tout ce beau monde via des socket du domaine Unix. Apprendre à utiliser les socket, c'est presque enfantin (enfin... en OCaml... mais en C ça doit être quasiment pareil), et très efficace. De plus, celà accroît fortement la réutilisabilité de composants logiciels, ce qui est tout de même intéressant, à mon sens. |
|
|
00
|
|
|
#24 | |
|
Membre éclairé
![]() ![]() Inscription : février 2003 Messages : 154 ![]() |
Citation:
Le plus déroutant au début est la syntaxe des déclarations et des appels de méthodes (cela casse avec les habitudes de la syntaxe C qu'on retrouve dans beaucoup de langage). Côté gestion mémoire, l'Obj-C est vraiment très élégant puisqu'on peut choisir entre gestion à la mano (plus performant dans bien des cas) et gestion dite autorelease (les objets se libèrent d'eux même en fin de run-loop lorsqu'ils ne sont plus utilisés). Léopard va aussi apporter un nouveau niveau de gestion puisqu'il va intégrer un Garbage collector pour le framework cocoa. |
|
|
|
00
|
|
|
#25 |
|
Membre éprouvé
![]() Inscription : mai 2004 Messages : 377 ![]() |
Avant de te précipiter sur un langage, je te suggère de cerner les besoins.
As-tu déjà essayé de réaliser un état en Python (langage que j'adore par ailleurs) ou en Java ? As-tu comparé la vitesse de création d'un formulaire en GTK avec celle que te permettent Filemaker et Servoy (je sais, c'est payant, mais il y a des versions d'évaluation disponible). Chaque environnement a ses avantages et ses faiblesses. Le mieux, comme le suggère InOCamlWeTrust, est d'en connaitre plusieurs pour pouvoir utiliser le plus adapté à une tâche donnée. Une solution n'est valable que dans un contexte donné. Yvan |
|
|
00
|
|
|
#26 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2006 Messages : 42 ![]() |
C'est clair et net: si tu veux développer une (des) nouvelle(s) appli(s) uniquement pour Mac, c'est le couple Objective-C / Cocoa qu'il te faut choisir
Tu verras, Obj-C est un langage génial et les APIs Cocoa sont super bien faites! Si tu comprends un minimum l'anglais, plus d'infos sur l'Objective-C sur Wikipedia (malheureusement la version française est très succincte, peut-être que je m'en occuperai un jour…). |
|
|
00
|
|
|
#27 | |
|
Membre éclairé
![]() ![]() Inscription : février 2003 Messages : 154 ![]() |
Citation:
|
|
|
|
00
|
|
|
#28 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 34 ![]() |
Il faut avoir des bases en C. (signé : un utilisateur de Mac depuis 1986) |
|
|
00
|
|
|
#29 |
|
Membre éclairé
![]() |
Je confirme, le couple Objective-C / Cocoa est le meilleur choix pour la programmation sur Mac OS X, si tu ne comptes pas aller sur d'autres plate-forme.
C'est un langage extrêmement flexible, extrêmement dynamique, tu as le choix entre mettre les mains dans le cambouis et fire des trucs de très bas niveau ou bien de t'en remettre complètement au haut niveau et moins te faire chier. Il a sa fine couche objet avec un runtime qui peut parfois ralentir le processus mais qui, grâce au caching, à force d'utiliser une même application, va plus vite. Mais si tu trouves le runtime trop lent tu peux aussi le contourner en appelant les méthodes avec du C directement... D'ailleurs l'intégration avec le C est totale, ce qui fait que tu peux utiliser les API bas niveaux d'Apple comme Core Graphics, Core Video, Core Audio, Core Image, et prochainement Core Animation de manière complètement transparente. Non vraiment ce langage n'a pas reçu le traitement qu'il mérite et aurait du avoir eclipsé le C++ si il n'avait pas était si incompris (séquence émotion ).
|
|
00
|
|
|
#30 | |
|
Membre émérite
![]() Inscription : décembre 2003 Messages : 997 ![]() |
Citation:
en quoi ce langage a été / est incompris ? |
|
|
|
00
|
|
|
#31 | ||
|
Membre éclairé
![]() |
Bah disons que si les développeurs n'avait pas pris peur devant la syntaxe atypique de l'Objective-C :
Code :
Voilà en quoi le langage est incompris, parce que les développeurs n'ont pas cherché à comprendre le langage et s'arrête bien souvent à la syntaxe. |
||
|
00
|
|
|
#32 | |
|
Membre éclairé
![]() ![]() Inscription : février 2003 Messages : 154 ![]() |
Citation:
La syntaxe quant à elle n'est déroutante que du fait du "formatage" des développeurs (C, C++, Java, etc). Doit-on pleurer un développeur qui s'arrêterait à ça (d'autant qu'une fois compris le principe c'est en fait littéralement plus explicite je trouve)? Je ne pense pas. *: Objective-C est né dans les années 80 (donc bien avant Java qu'il a largement inspiré). |
|
|
|
00
|
|
|
#33 |
|
Membre éclairé
![]() |
Oui Objective-C est méconnu bien qu'il a été développé à la même époque que le C++... Peut-être aussi à cause du fait que NeXT en ait gardé la license sans vraiment chercher à populariser le langage lui-même.
Mais aussi le fait que ce langage soit atypique en a éloigné plus d'un... M'enfin, l'Objective-C prend de plus en plus d'importance aujourd'hui et c'est très bien ! |
|
00
|
|
|
#34 |
|
Membre à l'essai
![]() Inscription : février 2007 Messages : 91 ![]() |
|
|
|
00
|
|
|
#35 | |
|
Membre éclairé
![]() |
Citation:
Je trouve que les @interface @end et @implementation @end sont plus explicites que les class {}; et MaClasse::methode(). |
|
|
00
|
|
|
#36 |
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
L'objectif C est un excellent langage.
Quelqu'un qui veut développer pour MacOS principalement devrait s'y mettre -_- Comme l'a dit Psycho la syntaxe est en fait plus propre que le C/C++ qui sont uniquement plus populaire. Un vrai développeur devrait être capable de s'adapter vite à un changement de syntaxe et Objectif-C ne devrait pas faire exception à la règle. |
|
|
00
|
|
|
#37 |
|
Membre éclairé
![]() |
La syntaxe de l'Objective-C est presque complètement basée sur celle du C. Les différences de syntaxe se trouvent au niveau de la couche objet qui est absente du C, il faut donc regarder du côté du C++ (qui est un langage différent !) pour pouvoir voir les différences de syntaxe.
|
|
00
|
|
|
#38 | |
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
Citation:
Il y a aussi une différence importante de philosophie qui a mon sens est bien meilleure pour objectif-C. Le passage de message est bien plus clair. menfinbon c'est des détails ça. |
|
|
|
00
|
|
|
#39 |
|
Membre émérite
![]() Inscription : juin 2006 Messages : 1 204 ![]() |
le probleme est que Objective-C n'est vraiment finalement que pour Mac.
En tant que developper d'application, je pense que l'avenir est au multi-plateforme (regardez les meilleures applis: VLC, FIREFOX, PHOTOSHOP, DREAMWEAVER, FLASH ...). J'adore le mac, mais les applications doivent etre multi-plateformes. Le choix est plutot entre Java et C++ (avec Qt ou autres) perso j'ai choisi, je prefere le natif et Qt est vraiment innovatif et les developpeurs paraissent vraiment tous cool (voir leurs blogs). |
|
|
00
|
|
|
#40 |
|
Membre éclairé
![]() |
Alors ça, c'est un raisonnement assez bancal. C'est pas parce qu'une application est présente sur plusieurs plate-forme que son code est multiplateforme... Au contraire ! Certaines bien sûr le sont comme FireFox. Mais des applications comme Photoshop, Dreamweaver ou Flash sont LOIN très LOIN d'être multiplateforme au sens où tu l'entends.
Dans la plupart des cas, ce sont des applications différentes qui sont conçues, avec un code différent. Les fonctionnalités sont bien sûr, en général, les mêmes, les fichiers générés sont identiques, mais l'application elle-même, et surtout son code, est différente. D'ailleurs, chercher absolument à faire du multiplateforme n'est pas vraiment la meilleure solution ! Car tu perds le bénéfice des différences de chaque plateforme et à ce moment tu as deux solutions : soit tu optimises ton application pour une plateforme en particulier et tu fais un code compatible et utilisable pour les autres, et là tu discrimines les autres plateformes. Soit tu fais une code 100% compatible avec toutes les plateformes et optimisés au maximum par les seules possibilités de tes outils, et là aucune plateforme n'aura une application optimisée... Dans les deux cas tu n'exploites pas les fonctionnalités de toutes les plateformes... |
|
00
|
Copyright © 2000-2013 - www.developpez.com