[Cocoa : les bases] Une question de principe

pacou

Membre actif
31 Mai 2002
322
5
J'aimerais que l'on me précise une chose.

Dans une Application Cocoa en Objective-C, les couches sont les suivantes (pas que en Objective-C d'accord mais lisez jusqu'au bout avant d'hurler) :
Le matériel (dont le processeur)
Darwin (et donc Mach qui gère/utilise le matériel dans les opérations les plus simple {E/S quoi})
Cocoa (et la on est au niveau de l'utilisateur pour faire simple)

Si j'ai bien compris, le principe de Objective-C est de fonctionner grâce à un "Run-Time quelque chose" qui en gros analyse la situation dans laquelle sont appelés les objets (au sens programmation du terme) et exécute le programme. On en déduit qu'il y a "peu" de code compilé avant l'exécution du logiciel (je me situe en Objective-C/Cocoa, PAS en Carbon, je ne le répèterais pas).

DONC, si une application est une pure interface utilisant exclusivement des objets des frameworks Cocoa et AppKits et qui donc est supposée fonctionner dans le run-time Objective-C, il n'y a pas de compilation particulière à faire pour que le logiciel tourne sur tel ou tel processeur. Seuls les frameworks ont a être compilés, Darwin evidemment aussi (mais on sait que c'est déjà fait).

En fait, avec Java, c'est ce qui est fait, non?

Alors ma (mes) question(s) est (sont):

Ai je bien compris la philosophie de Cocoa?
Suis-je complètement dans les choux?
Si oui, je voudrais bien avoir une explication...

Merci par avance.
 
En fait c'est un peu plus compliqué.
Certes les frameworks sont compilés mais ton code également.
En fait avec cocoa objective-c tu devrais ajouter dans ton arborescence la couche C entre darwin et cocoa.
En fait objective-c n'est autre qu'un langage c un peu plus éllaboré donc compilation obligatoire.
Les frameworks proposent en fait des routines réutilisables pour faciliter le développement.
Java au contraire est un langage interprété à la base. Donc pas du tout de même nature qu'objective-c.
 
Merci,

En fait j'était dans les choux /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif
Bon ça fait rien, je vais continuer à potasser, et un jour viendra où je saurais peut-être programmer.