1. Identifier les fondamentaux d'une application sur ios
- Les enjeux du marché en chiffres
- Les caractéristiques techniques du matériel (mémoire, processeur, disque...)
- Différencier les modèles et équipements Apple
- Le rôle et l'impact du firmware sur les applications
- L'utilisation d'Objective C ou de Swift
2. Déterminer l'environnement de développement
- La configuration d'un Mac
- Les rôles des IDE Xcode et Interface Builder
- Les instruments ; des outils de mesure
- L'intégration continue (tests unitaires, etc.)
- L'Apple Developer Program
3. Découvrir le langage de programmation swift
- Comparaison des langages orientés objet (PHP, Java et C++)
- L'inférence de types
- Les constantes, tuples et chaînes de caractères
- Les variables de type optional et leur gestion, l'unwrapped
- Le contrôle d'exécution
- Les closures et les fonctions dans Swift
- L'héritage et les protocoles
4. Gérer la programmation swift
- Les classes, structures, énumérations, et propriétés
- Les différentes catégories et extensions
- Les constructeurs et destructeurs
- Les propriétés déclarées (@property)
5. Déterminer l'architecture de swift
- La mémoire, la consommation et le mode (background, foreground)
- Le cycle de vie et fonctionnement (appDelegate)
- Les storyboards et segues de l'interface Builder
- Le contrôleur de navigation
- Le TableView Controller
- Le CollectionView Controller
- La création et l'implémentation (le TabBar Controller)
6. Gérer le paramétrage de l'interface utilisateur avec swiftui
- Les principaux objets de SwiftUI
- L'interface de programmation Core Animation
- La hiérarchie des classes UIView, UIResponder, UIWindow
- La gestion des vues (UIView et les widgets disponibles)
- Le dessin dans les vues et animations
- L'interface simple avec UIButton, UIImage, UILabel et UITextField
- Les messages bloquants avec UIAlertController
- L'enchaînement des écrans avec UITabBar, UINavigationBar et UIStoryboardSegue
- L'animation des UIViews
- L'expérience utilisateur enrichie grâce à UIGestureRecognizer
7. Utiliser des apis utiles et connectées en swift
- La connexion à un serveur avec une API REST
- Appels réseaux synchrones / asynchrones et parsing JSON
- Le téléchargement de contenu
- Les mécanismes proposés et contraintes imposées par Apple
- La gestion des Web Services
- Les bibliothèques et outils tiers utiles
8. Renforcer le professionnalisme de son application
- La persistance des données (Property List, le système de fichiers)
- Le design des langues (lproj)
- La distribution et la publication de l'application sur l'Appstore
- Le certificat de distribution
- Les outils pour le versionning de l'application