formation mac os x administration

Développement MAC OS X

Développer des applications Mac professionnelles et grand public. (Xcode, SDK, API iCloud/NS Document…)

Contactez un conseiller formation

Formation Développement MAC OS X

5 jours (35 heures)


La formation Développement MAC OS X  vous permettra de disposer de compétences solides pour développer des applications Mac professionnelles et grand public. Vous maîtriserez l’environnement de développement, le langage Objective-C, les API du SDK OS X et les nouveautés de Xcode, le SDK Mac OS X, les API iCloud/NSDocument.

 

Prérequis
Bonnes connaissances de la programmation et d’un langage orienté objet (C++, Java, C#, PHP5 objet, …).
Public
La formation développement MAC OS s’adresse aux ingénieurs logiciels, développeurs, analystes programmeurs, chefs de projet développant dans un contexte personnel ou en entreprise.
Méthodes pédagogiques
Exercices et cas pratiques construits à partir de cas professionnels et /ou issus de l’expérience des stagiaires.

Dates & Lieux

PARIS
Formation planifiée à la demande.

ROUEN
Formation planifiée à la demande.

DANS VOS LOCAUX

Personnalisez votre formation : objectifs, contenu, durée, lieu et dates selon vos attentes.

Programme

Introduction au développement Mac

  • Matériels concernés (MacBook Air, MacBook Pro, iMac, MacMini et MacPro)
  • Tour d’horizon des applications MacDifférences entre les dernières versions d’OS X
    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 applicative 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 2.0

  • 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 2.0

  • 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 Mac OS X

  • 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 œuvre du push côté client (méthodes et API utilisées, certificat)
  • Mise en œuvre du push côté serveur (token, gestion des notifications, feedback service)
  • Les notifications locales

Tuning et Debug des applications Mac OS X

  • 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 Mac OS X

  • Le sandboxing dans Mac OS X (Lion via Mac AppStore) APIs Apple, isolation «Bac à Sable» en Entitlements associés, …)
  • Les « responsabilités » au niveau applicatif
  • 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 AppStore

  • Les « contraintes » imposées par Apple
  • La sécurité des transactions
  • A quoi sert le certificat de distribution (contexte Mac AppStore) ?
  • Du côté des équipements (réglages, déploiement), provisionning d’un parc sous Mac OS X.
  • 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

Suivi post-formation

Notre formateur restera disponible par mail pendant 6 mois pour répondre à vos questions. Le formateur répondra sous 48h par mail ou téléphone en fonction de la nature de la demande.

 

Plus…

Loading...