Précédent   Forum du club des développeurs et IT Pro > Systèmes > Mac
Mac Forum d'entraide sur environnement et développement OS X et iOS. Avant de poster : lire la FAQ Mac ; voir la page Outils ; voir les tutoriels.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/09/2006, 21h49   #21
etranger
Membre confirmé
 
Avatar de etranger
 
Inscription : septembre 2004
Messages : 333
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 333
Points : 204
Points : 204
Je ne sais pas si sa peut t'aider, mais je suis tomber par hasard sur cet article .
etranger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2006, 15h03   #22
LordBob
Membre éclairé
 
Homme Jérémy
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 513
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 513
Points : 396
Points : 396
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
LordBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 21h05   #23
InOCamlWeTrust
Membre Expert
 
Avatar de InOCamlWeTrust
 
Inscription : septembre 2006
Messages : 1 036
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 036
Points : 1 129
Points : 1 129
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.
InOCamlWeTrust est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2007, 12h30   #24
Mala
Membre éclairé
 
Inscription : février 2003
Messages : 154
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 154
Points : 320
Points : 320
Citation:
Envoyé par kedare
bon finalement je vais surement faire des programmes qui ne tourne que sur MacOsX , donc je vais me tourner vers l'objective-C ,ca a l'air pas mal (mais quand meme plus complexe que les autres)
j'utiliserais aussi Ruby avec le binding Cocoa :p
Alors l'Objective-C est effectivement le choix le plus judicieux. Il te donne accès à toutes les fonctionnalités d'OSX que ce soit graphiques ou non via le framework cocoa. Il permet aussi un accès direct à toutes les API C du système et rien ne t'empêche non plus d'intégrer du code C++. Bref c'est le choix de prédilection pour tout développement sérieux (j'entends par là pourvoir vraiment accéder à tout) non multi-plateformes sur Mac.

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.
Mala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2007, 20h51   #25
ypicot
Membre éprouvé
 
Avatar de ypicot
 
Inscription : mai 2004
Messages : 377
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : mai 2004
Messages : 377
Points : 448
Points : 448
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
ypicot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2007, 23h12   #26
Mateo34
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 42
Points : 12
Points : 12
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…).
Mateo34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2007, 00h19   #27
Mala
Membre éclairé
 
Inscription : février 2003
Messages : 154
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 154
Points : 320
Points : 320
Citation:
Envoyé par Mateo34
Tu verras, Obj-C est un langage génial et les APIs Cocoa sont super bien faites!
Que dire de plus? C'est comme un Mac, l'essayer c'est l'adopter!
Mala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2007, 10h43   #28
Philippe49
Membre du Club
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 43
Points : 43
Objective-C = plaisir

Il faut avoir des bases en C.
(signé : un utilisateur de Mac depuis 1986)
Philippe49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 14h01   #29
PsychoH13
Membre éclairé
 
Remy Demarest
Inscription : juillet 2007
Messages : 308
Détails du profil
Informations personnelles :
Nom : Remy Demarest
Âge : 27

Informations forums :
Inscription : juillet 2007
Messages : 308
Points : 370
Points : 370
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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 ).
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 11h41   #30
Mathusalem
Membre émérite
 
Avatar de Mathusalem
 
Inscription : décembre 2003
Messages : 997
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 997
Points : 825
Points : 825
Citation:
Envoyé par PsychoH13
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 ).

en quoi ce langage a été / est incompris ?
Mathusalem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 13h10   #31
PsychoH13
Membre éclairé
 
Remy Demarest
Inscription : juillet 2007
Messages : 308
Détails du profil
Informations personnelles :
Nom : Remy Demarest
Âge : 27

Informations forums :
Inscription : juillet 2007
Messages : 308
Points : 370
Points : 370
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
Bah disons que si les développeurs n'avait pas pris peur devant la syntaxe atypique de l'Objective-C :
Code :
1
2
3
4
5
6
7
8
9
10
[receveur message]
@implementation classe : superclasse <protocole>
{
    // attributs
}

- (id)methodeDInstance: (int)valeur;
+ (id)methodeDeClasse;

@end
Ils auraient pu découvrir un super langage extrêmement flexible et dynamique...
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.
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 14h39   #32
Mala
Membre éclairé
 
Inscription : février 2003
Messages : 154
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 154
Points : 320
Points : 320
Citation:
Envoyé par PsychoH13
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.
Je ne suis pas complètement d'accord avec toi. Pour moi, Objective-C est tout simplement méconnu (et non incompris) car il n'a simplement jamais été mis en avant avant l'arrivée d'OSX (son prédécesseur NeXTstep n'ayant pas vraiment rencontré le succès mérité). Malgré son âge*, il n'en est donc qu'à ses débuts "marketing" et de plus en plus de devs s'y intéressent.

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é).
Mala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 15h49   #33
PsychoH13
Membre éclairé
 
Remy Demarest
Inscription : juillet 2007
Messages : 308
Détails du profil
Informations personnelles :
Nom : Remy Demarest
Âge : 27

Informations forums :
Inscription : juillet 2007
Messages : 308
Points : 370
Points : 370
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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 !
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 17h51   #34
Rocou
Membre à l'essai
 
Inscription : février 2007
Messages : 91
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : février 2007
Messages : 91
Points : 23
Points : 23
Citation:
Envoyé par PsychoH13 Voir le message
Bah disons que si les développeurs n'avait pas pris peur devant la syntaxe atypique de l'Objective-C :
C'est le moins que l'on puisse dire
J'ai passé plusieurs jours dessus sans rien y comprendre.
Rocou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 00h53   #35
PsychoH13
Membre éclairé
 
Remy Demarest
Inscription : juillet 2007
Messages : 308
Détails du profil
Informations personnelles :
Nom : Remy Demarest
Âge : 27

Informations forums :
Inscription : juillet 2007
Messages : 308
Points : 370
Points : 370
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
Citation:
Envoyé par Rocou Voir le message
C'est le moins que l'on puisse dire
J'ai passé plusieurs jours dessus sans rien y comprendre.
J'espère maintenant que tu es reconcilié avec Personnellement, et en y repensant, je trouve la syntaxe de l'Objective-C plus compréhensible que celle d'autres langages cousins comme le C++.

Je trouve que les @interface @end et @implementation @end sont plus explicites que les class {}; et MaClasse::methode().
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2007, 19h37   #36
Garulfo
Inactif
 
Inscription : juillet 2005
Messages : 1 958
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : juillet 2005
Messages : 1 958
Points : 2 209
Points : 2 209
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.
Garulfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2007, 20h37   #37
PsychoH13
Membre éclairé
 
Remy Demarest
Inscription : juillet 2007
Messages : 308
Détails du profil
Informations personnelles :
Nom : Remy Demarest
Âge : 27

Informations forums :
Inscription : juillet 2007
Messages : 308
Points : 370
Points : 370
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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.
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 01h01   #38
Garulfo
Inactif
 
Inscription : juillet 2005
Messages : 1 958
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : juillet 2005
Messages : 1 958
Points : 2 209
Points : 2 209
Citation:
Envoyé par PsychoH13 Voir le message
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.

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.
Garulfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 13h41   #39
epsilon68
Membre émérite
 
Inscription : juin 2006
Messages : 1 204
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : juin 2006
Messages : 1 204
Points : 923
Points : 923
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).
epsilon68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 17h02   #40
PsychoH13
Membre éclairé
 
Remy Demarest
Inscription : juillet 2007
Messages : 308
Détails du profil
Informations personnelles :
Nom : Remy Demarest
Âge : 27

Informations forums :
Inscription : juillet 2007
Messages : 308
Points : 370
Points : 370
Envoyer un message via AIM à PsychoH13 Envoyer un message via MSN à PsychoH13 Envoyer un message via Yahoo à PsychoH13 Envoyer un message via Skype™ à PsychoH13
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...
PsychoH13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h34.


 
 
 
 
Partenaires

Hébergement Web