Formation Développement d'applications pour macOS


REFERENCE
 
 
UMAD
DUREE
 
 
5 jours
TARIFS
 
 
2565 € HT
Niveau : Intermédiaire
Cours à distance: Non
Eligible CPF: Oui
OBJECTIFS :
 

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.

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.

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.

PROGRAMME :
 

Introduction au développement Mac

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)

L'environnement de développement d'une application Mac

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 ?

Le langage Objective-C

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

La programmation objet avec Objective-C

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 »

Les API Cocoa du SDK macOS

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 ?

Les classes de base et la gestion des données avec le Framework Foundation

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

Le framework AppKit (fenêtre, bouton, menu, contrôles, etc. )

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

Les applications basées sur des documents

La classe NSDocument
NSDocument et NSMetadataQuery pour iCloud

Internationalisation des applications Mac

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

La persistance des données (Framework CoreData)

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

Les notifications externes et locales

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

Tuning et Debug des applications Mac

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

Sécuriser ses applications macOS

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 ?

Distribuer son application sur le Mac App Store

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

Présentation du développement iOS pour mobile (iPhone) et tablette (iPad)

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

TRAVAUX PRATIQUES :
 

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.

S'INSCRIRE À CETTE
FORMATION DÉVELOPPEMENT MACOS
Cliquez sur une date pour vous inscrire
Information pratiques sur
LA FORMATION
Lieu de la formation Paris - LA DEFENSE
Nous contacter 01 43 34 90 94
CETTE FORMATION SUR-MESURE Ce cours est réalisable en intra-entreprise, dans vos locaux ou nos salles de cours CONTACTER NOTRE SERVICE INTRA
D'autres formations
SUR LE MÊME THÈME

4 j

 
Les produits Mac sont de plus en plus utilisés en entreprise. Il est donc nécessaire de pouvoir les intégrer sans problème en évitant les incompatibilités...

2 j

 

Unix - Linux - macOS

macOS - Prise en Main
Un cours intensif qui vous permettra d'acquérir toutes les compétences nécessaires à l'utilisation efficace et fiable de votre Mac sous macOS. Vous pourrez par...

3 j

 
Une formation sur l'administration des Macintosh sous macOS axée résultats qui fournit au participant l'ensemble des techniques pour installer et administrer au quotidien des...

4 j

 
Cette formation Administrateur macOS vous permet de mettre en place les principaux services réseaux sous macOS et d'élargir votre maîtrise du système. ...
Plus de formations sur le même thème

Des questions ?

ON VOUS RAPPELLE

 

0

Formations
Informatique
et Management
en ligne à ce jour

+ 0

Stagiaires dans nos
salles de cours sur
l'année

0%

De participants
satisfaits ou très
satisfaits de nos
formations

0

Formateurs experts
validés PLB