Code C et interfaçage

Sékiltoyai

Membre junior
9 Août 2007
61
2
32
Le Havre / Rennes
Bonjour à tous,

Je viens de me mettre aux macs. Et j'ai une petite application toute conne à faire, mais je ne m'y retrouve pas dans tout le bordel, surtout que je n'ai jamais fait d'applications graphiques en autre chose que Delphi (ou Java, mais c'est une bonne blague ça :D ).
Notamment, j'aimerais qu'on m'explique les différences Carbon, Cocoa, …, parce que je croyais avoir noté la subtilité, mais en fait, pas du tout.

Et ensuite, pour mon application, j'aimerais savoir comment relier mon interface créée sous IB avec mon code C sous XCode. J'ai lu un peu la doc Carbon d'Apple et le problème, c'est que la doc d'Apple me semble plutôt mal faite :-/

Enfin bref, si vous avez de la lecture pour moi qui pourrait m'aider à en savoir plus, je suis preneur.

Merci :)
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
Sékiltoyai;4363119 a dit:
Bonjour à tous,

Je viens de me mettre aux macs. Et j'ai une petite application toute conne à faire, mais je ne m'y retrouve pas dans tout le bordel, surtout que je n'ai jamais fait d'applications graphiques en autre chose que Delphi (ou Java, mais c'est une bonne blague ça :D ).
Notamment, j'aimerais qu'on m'explique les différences Carbon, Cocoa, …, parce que je croyais avoir noté la subtilité, mais en fait, pas du tout.

Et ensuite, pour mon application, j'aimerais savoir comment relier mon interface créée sous IB avec mon code C sous XCode. J'ai lu un peu la doc Carbon d'Apple et le problème, c'est que la doc d'Apple me semble plutôt mal faite :-/

Enfin bref, si vous avez de la lecture pour moi qui pourrait m'aider à en savoir plus, je suis preneur.

Merci :)
si tu la trouves mal faite ... il y a des centaines de sample codes ...
 

Eul Mulot

Membre émérite
12 Juin 2006
821
73
32
Belfort
Pour ce qui est de Carbon, c'est du C pur, qui tend à disparaitre au profit de Cocoa, ou qui reste présent pour des toutes petites choses. Apple pousse les gens à developper avec Cocoa.

Après si tu as du code en C et que tu veux gérer des éléments graphiques, qui sont issus du framework Cocoa, je sais pas si tu peux arriver à quelque chose, étant donné qu'il faut utiliser l'Objective-C pour utiliser Cocoa. L'Objective-C est un sur-ensemble du C, donc va surement falloir que tu modifies ton code.

Si quelqu'un pouvait aussi confirmer mes dires.
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
Pour ce qui est de Carbon, c'est du C pur, qui tend à disparaitre au profit de Cocoa, ou qui reste présent pour des toutes petites choses. Apple pousse les gens à developper avec Cocoa.

Après si tu as du code en C et que tu veux gérer des éléments graphiques, qui sont issus du framework Cocoa, je sais pas si tu peux arriver à quelque chose, étant donné qu'il faut utiliser l'Objective-C pour utiliser Cocoa. L'Objective-C est un sur-ensemble du C, donc va surement falloir que tu modifies ton code.

Si quelqu'un pouvait aussi confirmer mes dires.
1 - il existe plein d'applications utilisant carbon
2 - c'est juste qu'un dev cocoa est beaucoup + rapide
3 - Objc-c et un MOP C
4 - tu peux mixer (cocoa utilise carbon)
 

Eul Mulot

Membre émérite
12 Juin 2006
821
73
32
Belfort
Merci pour les infos tatouille, j'entendais par disparaitre que Carbon se voyait eclipsé par Cocoa, mais qu'il y a encore pas mal d'applis (le Finder il me semble), qui l'utilisent.

Qu'est ce que MOP ? Je n'ai pas trouvé quelque chose de probant part rapport au C :S
 

Sékiltoyai

Membre junior
9 Août 2007
61
2
32
Le Havre / Rennes
Et qu'est-il plutôt conseillé d'utiliser, sachant qu'ayant une mauvaise image de l'objective C, je n'ai pas trop envie de m'y mettre (par contre, en C++ ca ne me dérange pas…) ?
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
bah ne developpe pas sous macos ?
"une mauvaise image de l'objective C" ? t'as 5 ans ?
comment peux tu savoir à ton âge ?
 

Eul Mulot

Membre émérite
12 Juin 2006
821
73
32
Belfort
Et qu'est-il plutôt conseillé d'utiliser, sachant qu'ayant une mauvaise image de l'objective C, je n'ai pas trop envie de m'y mettre (par contre, en C++ ca ne me dérange pas…) ?
Lorsque j'ai vu un code en Objective-C pour la première fois, je me suis dit que j'y comprenais pas granc chose. Après l'avoir approché puis un peu approfondi, je me dit que c'est un langage vraiment interessant, super puissant, et moins foutoir que le Java.

Je ne sais pas ce que tu n'aimes pas avec l'Objective-C, le mieux serait peut être de pratiquer pour t'en faire une véritable opinion avant d'avoir des préjugés !

@ Tatouille: Merci pour le lien :zen:
 

Eul Mulot

Membre émérite
12 Juin 2006
821
73
32
Belfort
Bref, vous me conseillez de faire Obj-C + Cocoa plutôt que C+Carbon ?
C'est vraiment plus simple ?
N'y a-t'il pas moyen de s'habituer simplement à C+Carbon ?
Je comprend pas trop ton "entêtement" à vouloir manger du C, quand on voit la simplicité et la logique de l'Objective-C et de Cocoa.
 

Sékiltoyai

Membre junior
9 Août 2007
61
2
32
Le Havre / Rennes
Trop tard, j'ai compris la subtilité de Carbon, donc c'est déjà parti.

Par contre, j'ai regardé un peu le principe de l'objective-C, ca me paraît original mais intéressant (parce que c'est une conception plutôt atypique de l'objet). Je regarderais plus en détails un de ces jours (vous avez vous, tout n'est pas perdu :) )

Sinon, le C, j'aime bien en manger, c'est un de mes langages préférés (avec l'assembleur :D ).

Au passage, merci pour les liens, j'ai mis du temps à comprendre mais déjà, si on cherche au bon endroit, c'est plus simple :D
 

Didier Guillion

Membre d’élite
Club MacG
20 Juillet 2001
3 244
164
58
Toulouse
www.myriad-online.com
Bah, vu que je développe pour Carbon, niveau portabilité… Mais c'est vrai qu'apprendre un langage portable, c'est pas plus mal.
Mais c'est aussi que l'année qui va venir, on va nous apprendre le C en cours, donc je m'entraine déjà un peu avant aussi :)
Le truc c'est de bien séparer au niveau de ton code ce qui est "C pur" et ce qui est spécifique à ton environnement de développement. Sachant qu'Apple mets régulièrement ses technologies à la poubelle ("deprecated" comme ils disent) c'est un bon gage de perennité.
Bonne chance et n'hésite pas à poser des questions.

Cordialement
 

Sékiltoyai

Membre junior
9 Août 2007
61
2
32
Le Havre / Rennes
Bonne chance et n'hésite pas à poser des questions.
Merci.
Pour les questions, je viendrais peut être en poser quelques unes si je ne trouve pas mes réponses dans la doc ou la référence mais je n'aime pas poser les questions sans avoir auparavant cherché, donc bon… (Et puis bon, dans mon école, on ne nous habitue pas à ce que tout soit servi sur un plateau :) )
 

Mala

Membre junior
9 Mai 2006
65
7
Obj-C est très certainement l'un des langages les plus élégant que je connaisse.

Je doute que Carbon soit un bon choix. Ce n'est pas pour rien qu'Apple pousse depuis longue date à passer vers Cocoa/Obj-C. Carbon, n'en déplaise à certains, est voué à disparaître (tiens pas de support du 64 bits pour Carbon dans Léopard. C'est étrange...). Il reste surtout présent pour des raisons de compatibilité ascendante et pour combler les quelques manques du framework Cocoa (mais pour combien de temps?).

Après carbon c'est un choix de facilité pour un dev C mais il ne faudra pas venir pleurer parce que les API de Carbon passeront "Deprecated" les une après les autres. :rolleyes:

PS: depuis quand l'Obj-C n'est pas portable? Il ne faut pas confondre un langage et les librairies/frameworks qu'on peut lui associer.
 

Sékiltoyai

Membre junior
9 Août 2007
61
2
32
Le Havre / Rennes
Après carbon c'est un choix de facilité pour un dev C mais il ne faudra pas venir pleurer parce que les API de Carbon passeront "Deprecated" les une après les autres. :rolleyes:
A priori, l'application que je compte faire est très petite, et ne sera que peu ou pas distribuée.

Mais au passage, on peut tout de même développer en C++ avec Cocoa plutôt qu'en Obj-C ?
 

Didier Guillion

Membre d’élite
Club MacG
20 Juillet 2001
3 244
164
58
Toulouse
www.myriad-online.com
Après carbon c'est un choix de facilité pour un dev C mais il ne faudra pas venir pleurer parce que les API de Carbon passeront "Deprecated" les une après les autres. :rolleyes:

QuickDraw est marqué "deprecated", combien d'années avant que Quartz ne le soit aussi ?
Personnellement, Apple a perdu ma confiance depuis longtemps. Je m'amuse avec leur techno dans des freewares, mais sinon, dans mes autres programmes, je prends beaucoup de recul.

Tiens, pas plus tard que la semaine derniere, Apple a fermé iMovie aux extensions tierces. Imagine les boites qui vivaient de cela...

Cordialement