- Référence : UMAD
- Durée : 5 jours (35h)
- Lieu : Au choix. À distance ou en présentiel, à Paris ou en Régions
2990€ HT
Choisir une date et RéserverVous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...
Cette formation intensive au développement macOS vous permettra de disposer de solides bases pour développer des applications Mac professionnelles et grand public autour des incontournables MacBook Air, MacBook Pro, iMac, MacMini et MacPro.
Une fois votre environnement de développement et le langage Objective-C maîtrisés vous abordez les API du SDK OS X, comme la gestion des données et l'interface utilisateur afin de disposer d'une bonne vue d'ensemble et de pouvoir développer vos premières applications macOS.
Les nouveautés concernant Xcode, le SDK macOS, les API iCloud/NSDocument.
Enfin en conclusion, une présentation du développement pour iPhone et iPad vous permettra d'évaluer la réutilisabilité de vos compétences pour le développement d'application mobile.
                                Public :
                                
Cette formation développement macOS s'adresse aux ingénieur logiciel, développeurs, analystes programmeurs, chefs de projet Contexte de développement pour une utilisation personnelle ou en entreprise.
                                Prérequis :
                                
Bonnes connaissances de la programmation et d'un langage orienté objet (C++, Java, C#, PHP5 objet, ...).
Si vous ne vous estimez pas complètement à l'aise en programmation nous vous conseillons de suivre au préalable le stage DOBC ("Objective C") qui vous permettra de vous concentrer sur la partie purement macOS/Cocoa du stage présenté ici tout en consolidant votre maîtrise du langage Objective C.
Prérequis technique : Disposer d'un Mac récent, processeur i7 ou mieux, 16 Go RAM minimum, macOS 13 ou supérieur (idéalement la dernière version). Pour les formations qui nécessitent le développement d'applications : Xcode version 15.X (disponible sur l'App Store). À installer avant le début du cours.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant ce test.
	Matériels concernés (MacBook Air, MacBook Pro, iMac, MacMini et MacPro)
	Tour d'horizon des applications Mac
	Différences entre les dernières versions de macOS
	Cocoa un framework complet
	Les objets non graphiques (framework Foundation)
	Les objets graphiques (framework AppKit)
	Configuration Mac nécessaire
	Présentation des outils et IDE disponibles
	Démarrer un nouveau projet avec Xcode
	Fenêtre Organizer
	Dans quels cas faut-il signer un package de distribution applicatif et le binaire applicatif ?
	Les pragma XCode / compilateurs ObjC
	Concevoir ses propres modèles (templates) de projet XCode
	Où trouver de l'aide pertinente ?
	Présentation générale et vocabulaire
	Comparatif langages orientés objet Objective-C, C++ et Java
	Philosophie des messages
	Les méthodes et les classes
	Création de classes et d'instances
	L'importance des conventions de nommage
	Différence entre classe et interface
	Accès et portée des variables d'instances
	Propagation des messages
	La directive @selector
	S'y retrouver dans la documentation officielle
	Catégories et extensions
	Les propriétés déclarées (@property)
	L'utilité des protocoles (@protocol)
	Déclarations des interfaces
	Une gestion de la mémoire performante
	Objective-C 2.0 runtime référence
	Comprendre et savoir utiliser le « runtime reference »
	Tour d'horizon des principaux Frameworks
	Les grandes lignes des méthodes de codage avec Cocoa
	Classes de base et hiérarchie
	Conventions de nommage et comportements attendus
	Héritage ou bien composition et connaissance ?
	Philosophie du framework foundation
	Les classes fondamentales communes à tous les traitements
	Utilité des collections
	String, Text & Fonts (NSCharacterSet)
	Dates, Times & Numbers (NSDate)
	La classe d'abstraction du filesystem NSFileManager
	Les règles de base de la gestion mémoire (semi-automatique et automatique), NSAutoReleasePool
	Vue générale des frameworks graphiques
	XCode (Interface Builder «built-in») : IBAction, IBOutlet et IBOutlet Collection
	Le framework centrale pour l'exécution (NSApplication)
	Les objets NSView et les événement souris/clavier
	La classe NSControl et ses sous-classes
	Afficher des tableaux d'enregistrement avec NSTableView
	Les protocoles de délégation les plus courants dans l'AppKit
	La classe NSDocument
	NSDocument et NSMetadataQuery pour iCloud
	L'internationalisation des ressources applicatives
	Rappels des bonnes pratiques à propos de l'internationalisation
	Ce qui se fait « tout seul » et ce que doit faire le développeur ?
	Cas des langues non occidentales et des variantes régionales
	Architecture de CoreData
	Représentation graphiques des relations entre les objets avec CoreData
	Impact de l'utilisation de CoreData pour les objets (context)
	Vocabulaire (managed objects, fetch request, ...)
	Méthodes et propriétés à utiliser pour sauvegarder/charger un objet
	Transaction et objet
	Recevoir des événements extérieurs et locaux (Apple Push Notification Service)
	Comprendre le circuit de notification (Notification Server, APN Service, équipement, certificat SSL, application)
	Contenu d'une notification APN au format JSON (liste de propriétés, token)
	Mise en oeuvre du push côté client (méthodes et API utilisées, certificat)
	Mise en oeuvre du push côté serveur (token, gestion des notifications, feedback service)
	Les notifications locales
	Vue d'ensemble des paramètres importants
	Observer les performances
	Adapter le code avec la compilation conditionnelle
	Exemples concrets de gains de performances
	Gestion de la mémoire par Cocoa (NSObject, retain, release, alloc, copy, ...)
	Comportement du ramasse-miettes automatique
	Quand faut-il décider de gérer soi même la mémoire ?
	De la bonne utilisation du système de fichiers
	Debugger efficacement avec gdb / LLDB
	Améliorer les performances avec l'outil de profiling Instruments
	La rapidité de SQLite
	Le sandboxing dans macOS (Lion via Mac AppStore) APIs Apple, isolation «Bac à Sable» en Entitlements associés, ...)
	Les « responsabilités » au niveau applicatuf
	Synthèse des attaques classiques
	Problèmes potentiels liés à l'injection de code
	Les failles liées à la lecture des vidéos
	Antivirus pour Mac ?
	Les « contraintes » imposées par Apple
	La sécurité des transactions
	A quoi sert le certificat de distribution (contexte Mac App Store) ?
	Du côté des équipements (réglages, déploiement), provisionning d'un parc sous macOS.
	Quels outils pour le versionning de l'application distribuée via le Mac AppStore ?Retrait ou mise à jour d'une application d'une application sur le Mac AppStore
	Quels sont les points communs entre une application Mac et une application mobile ?
	Tour d'horizon des classes dédiées au développement mobile
	Présentation d'une maquette de développement simple pour iPhone/iPad
Beaucoup de pratique, autour des différents frameworks présentés, consolidée par la réalisation d'une application globale de bout en bout du cahier des charges jusqu'à sa commercialisation et son déploiement.
Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Intégration de macOS dans un environnement Windows, Active Directory
Apprendre à utiliser son Mac au quotidien
Administration et exploitation de macOS au quotidien
                                
                                
                                
                                Formations Informatique
et Management
en ligne à ce jour
                            
                                +
                                
                                
                                
                                Stagiaires dans nos salles
de cours sur
l'année
                            
                                
                                4,7/5
                                
                                
                                94% de nos participants
sont satisfaits ou
très satisfaits
                            
                                
                                
                                
                                
                                Formateurs experts
validés par
PLB
                            
                                
                                
                                %
                                
                                Des participants
recommandent
nos formations