Formation Développement d'applications pour macOS

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

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.

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

A partir de 2 895,00 €

Durée 5 jours (35h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 2 895,00 €

Durée 5 jours (35h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

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

Prérequis

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.

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.

Ces formations pourraient vous intéresser

Formation Snowpark pour Python

Proposé par PLB CONSULTANT

Objectifs de la formation

À l'issue de cette formation Snowpark pour Python, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Acquérir une compréhension approfondie du langage de programmation Python et de ses fonctionnalités avancées pour l'analyse de données
  • Comprendre les concepts clés de Snowpark et exécuter de tâches de transformation de données en utilisant des langages de programmation comme Python.
  • Maîtriser l'utilisation des bibliothèques Python spécifiques à Snowflake pour l'exploration, la manipulation et l'analyse des données stockées dans Snowflake
  • Découvrir les meilleures pratiques et les astuces pour optimiser les performances lors de l'exécution de tâches Python dans Snowflake / Snowpark
  • Acquérir les compétences nécessaires pour résoudre des problèmes de données spécifiques en combinant les fonctionnalités de Python et de Snowflake / Snowpark
  • Explorer différentes techniques et algorithmes de Machine Learning, tels que la régression, la classification, le clustering, etc
  • Utiliser FastAPI, un framework web Python, pour créer rapidement des API RESTful robustes et évolutives
  • Utiliser Streamlit, un framework pour le développement rapide d'applications web de data science, pour créer des interfaces utilisateur interactives et conviviales
Tarif

A partir de 2 490,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Formation After effects - Initiation

Proposé par PLB CONSULTANT

Objectifs de la formation

A l'issue de cette formation After effects Initiation vous aurez acquis les connaissances et compétences nécessaires pour :

  • Identifier les fonctions de base du logiciel
  • Créer des compositions avec des animations simples
  • Identifier la palette d'effets
Tarif

A partir de 2 250,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Cette formation a pour objectif de familiariser les stagiaires aux concepts d'IoC et d'injection de dépendances que l'on retrouve dans tous les frameworks de développement Java ainsi que dans les serveurs d'application Java EE.
Le cours s'appuie sur le framework Spring et le projet Spring Core qui est sûrement un des framework les plus répandus dans l'environnement Java.
Après avoir explicité, le pattern IoC, la formation montre les avantages de cette approche : Testabilité des architectures, la bonne utilisation des interfaces Java, les design patterns et l'évolutivité de ce type d'architecture.

A l'issue de cette formation, les stagiaires auront acquis les bonnes pratiques du développement d'applications Java.

Tarif

A partir de 1 480,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

This course helps you develop the skills that are necessary to implement various application requirements on IBM MQ versions up to and including IBM MQ V9.0.2. It focuses on procedural application development for IBM MQ.

The course begins by describing IBM MQ and the effect of design and development choices in the IBM MQ environment. It then covers IBM MQ application programming topics such as methods of putting and getting messages, identifying code that creates queue manager affinities, working with transactions, and uses of the publish/subscribe messaging style.

Finally, the course describes the IBM MQ Light interface, introduces Advanced Message Queuing Protocol (AMQP), and explains how to set up an AMQP channel and how to interface with IBM MQ Light.

Hands-on exercises throughout the course reinforce the lecture material and give you experience with IBM MQ clients.

Upon completion this course, you will be able to :

  • Describe key IBM MQ components and processes
  • Explain the effect of design and development choices in the IBM MQ environment
  • Describe common queue attributes and how to control these attributes in an application
  • Differentiate between point-to-point and publish/subscribe messaging styles
  • Describe the calls, structures, and elementary data types that compose the message queue interface
  • Describe how IBM MQ determines the queue where messages are placed
  • Explain how to code a program to get messages by either browsing or removing the message from the queue
  • Describe how to handle data conversion across different platforms
  • Explain how to put messages that have sequencing or queue manager affinities
  • Explain how to commit or back out messages in a unit of work
  • Describe how to code programs that run in an IBM MQ Client
  • Explain the use of asynchronous messaging calls
  • Describe the basics of writing publish/subscribe applications
  • Describe the Advanced Message Queuing Protocol (AMQP)
  • Differentiate among the various IBM MQ Light AMQP implementations
  • Explain how to use IBM MQ applications to interface with IBM MQ Light
Tarif

A partir de 2 390,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue de cette formation Cisco DevNet Développement d'applications, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Décrire les caractéristiques et les motifs architecturaux qui améliorent la maintenabilité de l'application
  • Décrire les caractéristiques et les modèles architecturaux qui améliorent la fonctionnalité de l'application
  • Identifier les étapes pour concevoir et construire une application ChatOps
  • Mettre en œuvre de solides intégrations de l'API REST (Representational State Transfer) avec traitement des erreurs de réseau, pagination et contrôle du flux d'erreurs
  • Décrire les étapes nécessaires pour sécuriser les données des utilisateurs et des systèmes dans les applications
  • Décrire les étapes nécessaires pour sécuriser les demandes
  • Identifier les tâches communes dans le processus automatisé de lancement des demandes
  • Décrire les meilleures pratiques pour le déploiement des applications
  • Décrire les méthodologies de conception des systèmes distribués
  • Décrire les concepts de gestion de la configuration de l'infrastructure et d'automatisation des dispositifs
  • Utiliser encore une autre génération de modèles de données (YANG) pour décrire les configurations de réseau et la télémétrie
  • Comparer différents types de bases de données relationnelles et non relationnelles et comment sélectionner le type approprié en fonction des besoins
Tarif

A partir de 4 200,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Formation ExtJS 6

Proposé par PLB CONSULTANT

Objectifs de la formation

Avec Ext JS 6, Sencha introduit un unique Framework pour la création d'applications sur tous les types d'appareils, mobile, tablettes et postes de travail. Vous serez en mesure de produire une UE optimisée tout en codant moins.

Le processus de fusion Ext JS et Sencha Touch est arrivé à termes et les deux framework ne font plus qu’un.

Grâce à cette formation ExtJS 6, vous apprendrez à réaliser une application Web dite « riche » à l'aide d'un framework Javascript évolué, multi-plateformes et supportant les design responsifs et adaptatifs.

Tarif

A partir de 2 260,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Concrètement, cette formation WPF vous permettra de :

  • Apprendre à utiliser le nouveau langage déclaratif XAML, utilisé pour le développement d'interfaces Windows
  • Être en mesure de développer des applications conviviales et graphiquement riches
  • Être en mesure de configurer et déployer des applications WPF
Tarif

A partir de 2 695,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue cette formation Administration avancée JBoss, les participants auront acquis les compétences et les connaissances nécessaires pour :

  • Optimiser la configuration d'applicatifs fonctionnant avec JBoss
  • Comprendre le fonctionnement d'une grappe de serveurs JBoss
  • Savoir configurer et administrer les serveurs JBoss
  • Comprendre les impacts sur le développement d'applications JEE en cluster. 
Tarif

Contacter l'organisme

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue de cette formation Cisco DevNet Associate, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Décrire l'importance des API et de l'utilisation des outils de contrôle de version dans le développement de logiciels modernes
  • Décrire les processus et pratiques communs utilisés dans le développement de logiciels
  • Décrire les possibilités d'organisation et de construction de logiciels modulaires
  • Décrire les concepts HTTP et leur application aux API basées sur le réseau
  • Appliquer les concepts de Representational State Transfer (REST) à l'intégration avec les API basées sur HTTP
  • Décrire les platesformes Cisco et leurs capacités
  • Décrire les caractéristiques de programmabilité des différentes platesformes Cisco
  • Décrire les concepts de base des réseaux et interpréter la topologie simple des réseaux
  • Décrire l'interaction des applications avec le réseau et les outils utilisés pour résoudre les problèmes
  • Appliquer les concepts de la programmabilité pilotée par les modèles pour automatiser les tâches courantes avec des scripts Python
  • Identifier les modèles communs de déploiement d'applications et les composants dans la filière de développement
  • Décrire les préoccupations communes en matière de sécurité et les types de tests, et utiliser la conteneurisation pour le développement local
  • Utiliser des outils pour automatiser l'infrastructure par le biais de scripts et d'une programmabilité basée sur des modèles
Tarif

A partir de 4 200,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue de cette formation Cisco DevNet, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Décrire la philosophie et les pratiques du DevOps, et comment elles s'appliquent aux défis de la vie réelle
  • Expliquer les architectures basées sur les conteneurs et les outils disponibles fournis par Docker
  • Décrire l'emballage des applications dans les conteneurs et commencer à construire des images de conteneurs sécurisés
  • Utiliser la mise en réseau des conteneurs et déployer une application de réseau à trois niveaux
  • Expliquer les concepts de pipelines d'éléments de configuration (IC) et les outils disponibles
  • Mettre en œuvre un pipeline de base avec Gitlab CI qui construit et déploie des applications
  • Mettre en œuvre des tests et une validation automatisés de la construction
  • Décrire les principes DevOps appliqués aux infrastructures
  • Mettre en place des environnements de test à la demande et expliquer comment les intégrer à un pipeline existant
  • Mettre en place des outils de collecte, d'analyse et d'alerte de données métriques et de journaux
  • Décrire les avantages de la surveillance de la santé des applications, de la télémétrie et de l'ingénierie du chaos dans le contexte de l'amélioration de la stabilité et de la fiabilité de l'écosystème
  • Décrire comment mettre en œuvre des flux de travail DevOps sécurisés en traitant en toute sécurité les données sensibles et en validant les applications
  • Expliquer les concepts de conception et d'exploitation liés à l'utilisation d'un mélange de déploiements de nuages publics et privés
  • Décrire la conception d'applications modernes et les architectures de micro-services
  • Décrire les éléments de base de Kubernetes et comment utiliser ses API pour déployer une application
  • Expliquer les schémas de déploiement avancés de Kubernetes et mettre en place un pipeline automatisé
  • Expliquer comment les concepts de surveillance, d'exploitation forestière et de visibilité s'appliquent à Kubernetes
Tarif

A partir de 4 170,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...