Maybaygiare.org

Blog Network

Cocoa et Cocoa Touch: Comment commencer à créer des applications Mac et iOS

Divulgation: Votre support aide à maintenir le site en marche! Nous touchons des frais de parrainage pour certains des services que nous recommandons sur cette page. En savoir plus

Cocoa est une API de développement native du système d’exploitation Mac OS X. Cocoa Touch est la plate-forme analogue étroitement liée à l’iOS. Il est écrit en Objective-C et agit comme une sorte de « couche supérieure » pour chaque système d’exploitation.

Cocoa peut être considéré comme une plate-forme applicative ou un framework de développement d’applications, mais il est plus intégré au système d’exploitation que l’un ou l’autre de ceux-ci ne le serait dans un environnement Linux ou Windows.

Cette intégration étroite entre l’API, le système d’exploitation et (bien sûr) le propre matériel d’Apple est destinée à fournir un environnement de développement transparent et à appliquer « la manière Apple » de faire les choses.

Histoire du cacao

Le cacao commence par C. Littéralement.

Au début des années 1980, deux développeurs nommés Brad Cox et Tom Love ont cherché à ajouter une orientation Objet au langage de programmation C, qui ne supportait pas la POO à l’époque.

Leur solution était de créer un pré-processeur qui rendrait le code C avec quelques ajouts de type Smalltalk en code C simple compilable. (Smalltalk était un premier langage orienté objet.)

Ce préprocesseur a rapidement évolué en une extension de langage à part entière et est devenu connu sous le nom d’Objective-C. NeXT software, qui a été fondé par Steve Jobs après son licenciement d’Apple en 1985, a concédé une licence Objective-C à ses créateurs et l’a utilisé comme base pour plusieurs cadres de développement.

Ceux-ci ont formé les plates-formes d’applications NeXTstep et OpenStep, qui ont ensuite été vendues dans les années 80 et 90.

Apple a acquis NeXT en 1996, et Steve Jobs est revenu en tant que PDG. Les frameworks NeXTstep ont fait leur chemin dans le système d’exploitation Mac.

Apple avait déjà déposé le nom Cocoa, pour un projet distinct qui a été abandonné. Afin de mettre rapidement un nom de marque déposée sur la nouvelle version des frameworks d’Apple, ils l’ont appelé Cocoa.

Cocoa fait partie de tous les systèmes d’exploitation d’Apple depuis la fin des années 1990, et a évolué avec le système d’exploitation et les nouvelles plates-formes d’appareils depuis.

Que fait Le Cacao ?

Cocoa fait beaucoup de choses, mais d’une manière générale, celles-ci se répartissent en quatre catégories:

  • Agissant comme une bibliothèque standard étendue pour Objective-C, fournissant un support pour des objets et des fonctionnalités plus riches des langages informatiques modernes non présents dans la conception d’Objective-C.

  • Fournir une interface utilisateur et une expérience utilisateur unifiées.

  • Permettant à une application d’accéder à d’autres applications, services et fonctionnalités de périphérique.

  • Encourager des modèles particuliers d’architecture et de gestion des données.

Ces objectifs généraux de conception sont mis en œuvre dans plusieurs  » cadres. »Ce terme peut être un peu déroutant. Dans le langage contemporain, Cocoa ressemble plus à un framework unique, avec plusieurs modules ou bibliothèques. Mais Apple appelle chacune de ces bibliothèques un « framework ». »

Explorons un peu chacun de ces objectifs fonctionnels et comment les différents frameworks Cocoa les atteignent.

Cocoa en tant que bibliothèque standard

Objective-C a une bibliothèque standard. Dans l’environnement Cocoa, la bibliothèque standard et le runtime sont en fait fournis par Cocoa. En outre, un ensemble de fonctionnalités linguistiques étendues sont fournies par le Kit de fondation qui, dans la pratique, agissent comme une bibliothèque standard de facto.

Cela fournit des fonctionnalités de langage plus avancées que celles normalement disponibles dans Objective-C. Cela inclut un large éventail de classes de base pour les types d’objets couramment utilisés — nombres, dates, chaînes, URL, expressions régulières et messages d’erreur.

Ce framework de kit de base est essentiel dans les applications écrites en Objective-C. Cependant, le développement d’applications sur les plates-formes Apple s’éloigne de l’Objective-C, à mesure qu’Apple promeut son nouveau langage de développement Swift.

Swift fournit nativement de nombreuses fonctionnalités de langage moderne ajoutées par Foundation Kit, et on ne sait pas quel rôle Foundation et Objective-C joueront dans un avenir centré sur Swift.

Cocoa en tant qu’interface UI/ UX

Cet aspect de Cocoa est peut-être le plus important pour les développeurs d’applications.

Dans la version OS X de Cocoa, l’API d’expérience utilisateur est fournie par un framework appelé AppKit. Dans Cocoa Touch pour iOS, cela s’appelle UIKit.

Dans les deux cas, ceux-ci fournissent des éléments graphiques, des commandes d’interface utilisateur, une gestion des fenêtres et des panneaux, des interfaces multi-touch et tous les autres détails de l’interaction entre l’utilisateur et le système.

L’utilisation d’AppKit et d’UIKit est ce qui rend une application native du système Apple, et répond aux entrées (gestes, clics, mouvements) de la « bonne » manière.

La grande différence entre Cocoa et Cocoa Touch est la différence entre AppKit et UIKit. Même si Apple s’est efforcé d’unifier l’expérience utilisateur sur toutes les plateformes, vous interagissez toujours avec un iPhone différemment d’un Mac de bureau.

Outre des éléments d’interface graphique légèrement différents, UIKit prend en charge des éléments tels que la direction de la boussole, le GPS, l’accéléromètre (mouvement de l’appareil) et l’écran tactile.

Cocoa as Operating System Interface

Les applications Apple doivent également pouvoir interagir avec d’autres applications et services du système d’exploitation.

Si vous souhaitez pouvoir cliquer sur un numéro de téléphone dans votre application de chat et lancer un appel téléphonique, les applications doivent pouvoir se parler.

Si vous souhaitez qu’une application d’édition musicale puisse capter le son d’un microphone et le lire sur vos haut-parleurs, les applications doivent pouvoir interagir avec les services du système d’exploitation.

Cocoa fournit une longue liste de frameworks qui donnent accès à des applications et des services. C’est ce qui permet aux applications d’être non seulement des exécutables autonomes, mais d’exister et de fonctionner dans un écosystème intégré.

Cocoa en tant qu’architecte

Cocoa prend en charge deux modèles architecturaux importants, l’un au sein d’une application et l’autre dans la façon dont une application communique en dehors d’elle-même.

Cocoa est écrit avec le paradigme architectural Model-View-Controller à l’esprit et prend en charge le développement MVC à tous les niveaux.

La vue est implémentée par les frameworks AppKit ou UIKit. Les modules de contrôleur sont pris en charge par une famille de classes intégrées au kit de base. Les modèles et leur connexion requise à une couche de persistance des données sont gérés par un autre framework appelé Core Data.

Cette conception encourage (certains pourraient dire impose) une architecture Modèle-Vue-contrôleur dans les applications iOS et OS X.

Entre différentes applications, mais aussi entre applications et services, les différents frameworks assurent la médiation de l’interaction de manière essentiellement orientée services. Cela rend à la fois plus facile et plus sûr l’intégration d’applications entre elles, favorisant ainsi un écosystème d’applications robuste et résilient.

Ressources Cocoa

En ligne

Tutoriels

  • Concepts de programmation de base pour Cocoa et Cocoa Touch

  • Introduction aux Directives de codage pour Cocoa

  • Cocoa Dev Central

  • Programmation de Mac OS X avec Cocoa pour les débutants.

Outils

  • Contrôles Cocoa: composants d’interface utilisateur open source pour iOS et OS X.

  • Cocoa Pods: un gestionnaire de paquets pour les projets Cocoa.

Communauté et apprentissage continu

  • CocoaHeads: un réseau mondial de réunions et de groupes de discussion locaux dédiés au développement du cacao et de la Cocoa Touch.

  • Subreddit de cacao.

Livres

  • Développement rapide avec Cocoa: Développement pour les magasins d’applications Mac et iOS

  • Programmation Cocoa pour OS X: Le guide du Ranch Big Nerd

  • Apprendre le Cacao avec Objective-C

  • Tutoriel sur le cacao de Ry

  • Cocoa (Développeur Référence)

  • Motifs de conception de cacao.

Autres ressources de développement OS X et iOS

Vous ne pouvez pas utiliser Cocoa ou Cocoa Touch dans le vide. Il s’agit d’un élément du plus grand environnement de développement d’applications Apple, qui comprend Xcode, Objective-C et Swift. Ces différents outils et technologies travaillent ensemble pour former un écosystème de développement.

Xcode

Xcode est un environnement de développement intégré (E) requis pour la création d’applications OS X et iOS. Il est étroitement intégré à Swift, Cocoa, à l’App Store d’Apple et à l’écosystème Apple au sens large.

Il n’y a pas beaucoup de tutoriels sur Xcode spécifiquement, car il est couvert dans toutes les ressources de développement Apple générales. Une excellente ressource, cependant, est ce tutoriel Xcode, qui est régulièrement mis à jour à mesure que de nouvelles versions de Xcode sortent.

Objective-C

  • À propos d’Objective-C:un tutoriel d’introduction du centre de développement Apple

  • Programmation Objective-C

  • Programmation Objective-C: Le guide du Ranch Big Nerd.

Nous avons également une liste plus complète des ressources Objective-C.

Swift

  • Le langage de programmation Swift: le guide officiel d’Apple

  • Programmation Swift: Le guide du Ranch Big Nerd: le livre définitif sur le sujet.

Nous avons également une liste exhaustive des ressources Swift.

Ressources générales de développement Apple

Le premier endroit pour les informations et les ressources sur le développement pour les plates-formes Apple est le site des développeurs Apple.

La plupart des meilleurs livres sur le développement Mac et iOS proviennent de Big Nerd Ranch. Leurs livres sur des sujets spécifiques sont mentionnés ci-dessus, et vous devriez également consulter leurs livres sur la programmation avancée de Mac OS X et la programmation iOS.

Autres bonnes ressources générales:

  • Tutoriels de Ray Wenderlich: l’un des rares fournisseurs qui remonte et met à jour les anciens tutoriels lorsque Apple met à jour la plate-forme.

  • Chaîne de programmation Apple sur YouTube: pas officielle, mais très utile.

  • WeHeartSwift: nominalement à propos de Swift, mais ce site couvre tous les aspects du développement d’OS X et iOS.

  • NSHipster: un blog populaire sur le développement Mac et iOS, avec de nombreux tutoriels sur « les bits négligés dans Objective-C, Swift et Cocoa. »Ils sont également très opiniâtres dans leur couverture, ce qui est probablement une force.

  • ObjC.io : livres et articles sur les techniques et pratiques avancées pour le développement iOS et OS X.

Ligne de fond…

Cocoa et Cocoa Touch sont les bases du développement d’applications natives pour Mac et iOS.

Pour iOS, il existe d’autres façons de créer des applications mobiles non natives avec HTML5 et JS, mais cela ne se passe pas toujours aussi bien que prévu – vraiment.

Si vous souhaitez créer la prochaine grande application iPhone ou créer des applications Mac qui s’intègrent bien à OS X et répondent aux attentes des utilisateurs, vous devez vraiment vous plonger dans Cocoa et Cocoa Touch. Pour le développement d’applications natives, il n’y a vraiment pas de substituts.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.