Cours gratuits » Cours informatique » Cours programmation » Cours Objective-C

Cours Objective-C


Cours complet d’Objective-C pour débutant en pdf

Cours complet d’Objective-C pour débutant ... C et Objective-C Lorsque vous exécutez un programme, un fichier est lu à partir du disque dur et copié en mémoire vive. Les instructions con
Nombre de telechargement 804 Taille: 1,180.97 Kb 0(0 votes)

Tutoriel Référence de l'API Objective-C

Tutoriel Référence de l'API Objective-C Ce manuel est votre référence pour l'utilisation de la librairie Objective-C de Yoctopuce pour interfacer vos senseurs et contrôleurs USB. Formation informatique Le chapitre suivant
Nombre de telechargement 251 Taille: 1,398.78 Kb 0(0 votes)

Cours Objective-C Gestion des notifications et des événements

Cours Objective-C Gestion des noti?cations et des événements Extrait du cours: Dans ce chapitre, nous abordons le système de noti? cations utilisé en Objective-C. Dans le jargon Cocoa, les termes  événement  (eve
Nombre de telechargement 241 Taille: 82.85 Kb 0(0 votes)

Cours sur le monde d’Objective-C en pdf

Cours sur le monde d’Objective-C en pdf Extrait du cours: Vous pensiez peut-être couper à l’inévitable historique, mais celui d’Objective-C est intéressant pour justifier le choix de ce langage par Apple. Il permet aus
Nombre de telechargement 184 Taille: 301.10 Kb 0(0 votes)

Cours Introduction à la programmation sur iPhone

Cours Introduction à la programmation sur iPhone Objective-C, notions essentielles En Objective-C, chaque classe se compose de deux ?chiers aux noms identiques, un .h et un  .m. Le .h déclare les propriétés et méthodes
Nombre de telechargement 236 Taille: 549.66 Kb 0(0 votes)

Cours Les bases d’Objective-C en pdf

Cours Les bases d’Objective-C en pdf Extrait du cours: Objective-C est un langage de programmation orienté objet basé sur le langage C, tout comme C++. Cette spéci? cité intéressante rend le langage compatible avec C et d
Nombre de telechargement 249 Taille: 132.20 Kb 0(0 votes)

Cours de C++ à Objective-C en pdf

Cours de C++ à Objective-C Formation informatique Ce document est un guide de passage de C++ à Objective-C. Il existe plusieurs documentations soucieuses d’enseigner le modèle objet via Objective-C, mais aucune à ma connai
Nombre de telechargement 135 Taille: 886.75 Kb 0(0 votes)

Qu'est-ce que Objective-C?

Alors, qu'est-ce que c'est exactement, Objective-C et qu'est-ce qui est génial à ce sujet? Objective-C ajoute le concept d'objets au langage C standard. Il élève C en le recouvrant d'une poignée de nouveaux mots-clés et d'une syntaxe d'appel à la méthode SmallTalk-esque. Le résultat est un langage de programmation orienté objet avec des propriétés remarquables:

• Les paradigmes modernes de conception orientée objet
• Compilateur de pointe
• Performance exceptionnelle
• Accès direct aux API C et C
• Comportement dynamique

Contrairement à la plupart des autres langages orientés objet, Objective-C ne crée pas un langage complètement nouveau - c'est un sur-ensemble strict de C. Les mots-clés et la syntaxe Objective-C sont tout à fait distincts du langage C.

Histoire

Brad Cox et Tim Love étaient les forces principales derrière Objective-C. Il a commencé sa vie sous le nom de "programmation orientée objet en C" ou OOPC. L'objectif était d'ajouter les capacités de SmallTalk - qui nécessitait un interpréteur - à C, sans concevoir un langage entièrement nouveau. Cox a publié la première description formelle de ce qui était devenu Objective-C en 1986. En 1988, NeXT Computer a adopté Objective-C comme langage de développement principal. NeXT a enrichi Objective-C en créant une vaste collection de classes qui sont devenues la base de nouvelles applications, d'outils de développement (notamment Interface Builder) et d'une partie importante de leur système d'exploitation. Le système d'exploitation NEXTSTEP a finalement conduit à l'API OpenStep, qui définissait un ensemble cohérent d'objets et d'interfaces pouvant être portés sur plusieurs plates-formes. Les ports d'OpenStep, en commençant par OPENSTEP, ont fonctionné sur Solaris de Sun et Windows NT de Microsoft, entre autres. Le projet GNU (GNU's Not Unix) a finalement créé une implémentation open-source appelée GNUstep.

Ensemble, Objective-C et NEXTSTEP ont été salués comme un environnement de développement innovant, l'un des rares à vraiment tenir la promesse de la conception orientée objet. La conception et la création d'applications ont été rapides et flexibles. Mais pour diverses raisons, notamment l'inertie de l'industrie derrière C ++ NeXT et Objective-C demeurait un peu plus qu'une curiosité, un brillant exemple de ce qui pouvait être accompli, si seulement ils avaient été adoptés par un segment important de l'industrie.

Ce seuil a finalement été franchi en 1996, l'année où Apple a acheté NeXT Computer, le système d'exploitation NEXTSTEP, et toute sa suite d'outils de développement basés sur Objective-C. Apple a fait de NEXTSTEP la pierre angulaire de son nouveau système d'exploitation Mac OS X. Les frameworks d'objet ont été rebaptisés "Cocoa" et ont depuis évolué et évolué pour devenir un ensemble d'outils riche et puissant, non seulement pour les applications informatiques personnelles, mais aussi pour les appareils grand public innovants comme l'iPhone.

Un langage orienté objet moderne

Objective-C accomplit un exploit plutôt remarquable. Le langage actuel est libre, presque au point d'être stérile, mais il réussit à mettre en œuvre un paradigme d'objet riche qui rivalise avec des langages beaucoup plus complexes. Le langage est simple à apprendre et simple à mettre en œuvre. De nombreuses fonctionnalités peuvent être ajoutées ou améliorées simplement en créant de nouvelles classes, plutôt que d'exiger des changements dans la langue elle-même. Par exemple, en utilisant Objective-C, vous pouvez vous réveiller un matin et décider d'instancier des objets d'une nouvelle manière. Objective-C ne définit pas la façon dont les objets sont créés ou détruits - cela est fourni par le framework d'exécution via les méthodes de classe. Il est peu probable que vous souhaitiez redéfinir l'instanciation d'objet, mais l'exemple souligne la flexibilité du langage.

Compilateur à la fine pointe de la technologie

Parce que Objective-C est une couche mince au-dessus de C, il suit la marée des changements de langage C. Au fur et à mesure que de nouvelles fonctionnalités, optimisations, processeurs cibles et autres technologies sont ajoutés à C, Objective-C arrive pour le tour. Cela permet à Objective-C de rester à jour avec la technologie et les techniques modernes.

L'état actuel de la technologie des compilateurs signifie également que le code Objective-C est remarquablement portable. Il n'y a pas si longtemps, il était hautement improbable que C écrit pour une plate-forme compile et fonctionne sur un système ou une architecture différente. C'était l'une des joies de la conception "écrire une fois, courir n'importe où" de Java. Aujourd'hui, un seul compilateur C peut cibler des scores de processeurs et de matériel différents avec le passage d'un commutateur (de ligne de commande). Exemple: Apple a décidé il n'y a pas si longtemps de convertir toute sa gamme de systèmes informatiques personnels de Motorola / IBM à des processeurs Intel. Des dizaines de millions de lignes d'Objective-C ont été portées vers une architecture entièrement nouvelle avec peu ou pas de perturbations dans le développement. Apple l'a fait à nouveau quand ils ont porté leur framework Cocoa sur le processeur embarqué utilisé dans l'iPhone, et pourrait porter toute leur bibliothèque logicielle sur un autre processeur si l'occasion se présentait. Aujourd'hui, Apple maintient un référentiel unique de code source Objective-C qui est régulièrement recompilé pour fonctionner sur pas moins de cinq architectures de processeurs différentes. Objective-C est "écrire une fois, courir n'importe où" dans la pratique, sinon le principe.

Performance

Les performances linguistiques et les guerres de référence sont tristement célèbres, mais rares sont ceux qui prétendent que C est le langage informatique de haut niveau le plus rapide disponible aujourd'hui. Nombreux sont ceux qui prétendent être presque aussi rapides, mais il est presque impossible de dépasser les performances de C sans avoir recours à des optimisations codées à la main ou à des tromperies. Il n'est pas étonnant que presque tous les interpréteurs soient écrits en C ou en C ++ et que cela inclut la machine virtuelle de Java.

Parce que Objective-C est aussi C, vous pouvez optimiser votre application jusqu'aux limites du matériel. Il est facile de commencer avec un simple design basé sur un objet. Si l'analyse des performances montre que la solution n'est pas assez rapide, elle peut être optimisée avec des extraits de C. Ou le code peut être entièrement réécrit en C. Si ce n'est pas assez rapide, le compilateur C vous donne un accès direct au noyau du système d'exploitation , des coprocesseurs graphiques, des instructions d'unités vectorielles et même du code machine brut. Si votre objectif est de créer l'application la plus rapide possible, Objective-C ne vous gênera pas. La programmation en Objective-C signifie également que vous avez un accès direct à la vaste bibliothèque d'API C. Les fonctions POSIX C disponibles aujourd'hui représentent certains des codes les plus matures, stables et sécurisés de l'industrie.

Dynamisme

Objective-C est souvent décrit comme un langage dynamique. C'est un terme difficile à définir. Après tout, chaque programme est dynamique sous une forme ou une autre. Le terme décrit certains aspects du langage Objective-C lui-même, mais se réfère le plus souvent aux modèles de conception adoptés par les développeurs Objective-C. Le langage Objective-C est plus dynamique que les langages Java et C ++. En Java, les variables et méthodes que vous définissez pour une classe sont exactement celles de l'exécution. En Objective-C, les définitions de classe sont plus malléables. D'autres objets et frameworks, que vous avez développés ou non, peuvent enrichir vos classes et vos objets avec de nouvelles fonctionnalités. Inversement, vous pouvez augmenter les autres classes, voire les classes système, avec de nouvelles fonctionnalités.

Une autre caractéristique intrigante d'Objective-C est la capacité du système d'exécution à modifier le comportement d'un objet à la volée. Un exemple particulièrement dramatique de ceci est dans le modèle d'observateur. En Java, un objet observable est responsable de la maintenance d'un ensemble d'objets écouteurs et de leur notification des modifications de ses propriétés. En Objective-C, lorsqu'un objet veut observer la propriété d'un autre objet, il fait une requête au framework Key-Value Observing. Ce cadre sous-classe spontanément l'objet cible, en enveloppant sa méthode setter avec du code pour informer les observateurs intéressés des changements. Cette capacité remarquable signifie que chaque objet est observable sans écrire une seule ligne de code ou vous obligeant à faire un travail de conception à l'avance. Le contraste entre Java et Objective-C-en larges traits. Le cadre d'observation de la valeur-clé fait tout le travail de maintenir l'ensemble des observateurs pour chaque objet et d'envoyer les notifications demandées. Tout ce que vous avez à faire est de déclarer la propriété et de demander à être informé des changements.

La nature dynamique des applications Objective-C découle souvent davantage des modèles de conception adoptés par les développeurs que de tout ce qui est inhérent à la langue - bien que Objective-C rende ces modèles plus faciles à adopter. Prenons l'exemple simple de l'implémentation de méthodes copier et coller pour un objet de vue personnalisé. Le cadre Cocoa définit quelque chose appelé la chaîne répondeur. Il commence par l'objet de vue qui a actuellement le focus de l'utilisateur, par exemple un texte ou un graphique sélectionné affiché par votre objet de vue personnalisé. La chaîne se compose de cet objet, de l'objet de vue qui le contient, de la fenêtre qui le contient et, éventuellement, de l'objet d'application unique qui contient toutes les fenêtres. Lorsque l'utilisateur sélectionne la commande Coller dans le menu, Cocoa examine les objets de la chaîne pour trouver le premier qui implémente une méthode -paste:. De même, l'élément de menu lui-même est activé et désactivé automatiquement, en fonction de la présence ou de l'absence d'un objet dans la chaîne du répondeur qui implémente - paste :. Cette disposition ne nécessite aucun objet pour "rechercher" un événement de commande Coller ou s'enregistrer lui-même avec l'élément de menu. La commande Coller prend vie simplement parce qu'un objet a implémenté une méthode: - paste:

Mais, vous pourriez demander, et si la commande Coller doit être activée conditionnellement? C'est simple: votre objet de vue personnalisé doit implémenter la méthode -validateMenuItem:. Les objets de la chaîne de répondeurs qui implémentent cette méthode sont interrogés pour déterminer quelles commandes doivent être activées pour l'utilisateur. Sinon, le framework Cocoa se fait sa propre idée. L'accent n'est pas ici sur ce qu'est un objet mais sur ce qu'il fait. Les capacités ou les rôles d'un objet sont déterminés en examinant les méthodes qu'il implémente, plutôt que la classe ou l'obligation de s'enregistrer avec d'autres objets. Cette philosophie a ses racines dans la programmation orientée vers les aspects. Les développeurs Objective-C appellent ces méthodes des protocoles informels. Le résultat final est une application fluide qui s'adapte et répond aux utilisateurs en fonction de ce que font ou ne font pas les objets du programme. La connaissance requise par un objet au sujet d'un autre est minime, tout comme ses relations avec d'autres objets de vue. En Objective-C, les implémentations d'objets sont plus simples, plus encapsulées, font moins d'hypothèses et sont généralement plus réutilisables.

Productivité du développeur

Pour toutes ces raisons, Apple considère Objective-C comme son «arme secrète». Apple produit régulièrement des applications de pointe performantes plus rapidement et avec moins de développeurs que les autres grands éditeurs de logiciels. Ils attribuent publiquement Objective-C comme une composante clé de leur succès. Après avoir commencé à travailler avec Objective-C, en particulier lors de la création d'applications graphiques, vous découvrirez à quel point vous pouvez être productif et efficace.