Plan du cours
Concepts de base de la programmation
- Concepts POO (Programmation Orientée Objet)
- Qu'est-ce qu'un logiciel
- Concept de pièces organisées vs désorganisées en programmation
- Pourquoi les logiciels
Pourquoi Apple et iOS
- Pourquoi iOS
- Histoire d'Apple
- Histoire d'iOS
- USP (Unique Selling Proposition) d'Apple
- Ce pour quoi Apple est célèbre
- UX vs UI
Environnement de développement
- Exigences de l'environnement de développement
- Xcode et le SDK iOS
- Inscription au programme Apple Developer
- Raisons pour lesquelles les applications sont refusées
- Lignes directrices de l'interface humaine (Human Interface Guidelines)
Projets iOS dans Xcode
- Vue d'ensemble de Xcode
- Création d'un projet iOS
- Exécution sur simulateur et appareils réels
Les bases de Swift
- Pourquoi Objective C, et maintenant pourquoi Swift ?
- Points forts de Swift
- Variables
- Constantes
- Hello World en Swift
- Création d'un UILabel par code
Animation d'images et chargement d'images
- UIImageView
- Animations de base de UIView et UIImageView
- Playground
- Chargement différé des images (Lazy loading)
- Propriétés différées (Lazy properties)
Classes et scènes Swift
- Création de classes Swift
- Gestion de la mémoire
- Références fortes et faibles
- Types de constructeurs et destructeurs en Swift
- Protocoles, Hashable et Printable
- Héritage
- Création de scènes (Scenes)
- Mise en œuvre des contrôleurs de vue
- Playground
Cycle de vie et chaîne des répondeurs
- Cycle de vie de la vue
- Cycle de vie de l'application
- Chaîne des répondeurs - méthodes touchBegan, touchMoved, etc.
- NSTimer
Mise en page adaptative (Adaptive Layout)
- Storyboards vs Xib
- Support multi-appareils
- Taille des icônes et orientation des appareils
- Construction d'une interface utilisateur par code
- Outlets et Actions
- Protocoles - Requis et optionnels
- Gestion de la mémoire
Notifications et localisation
- Notifications push - silencieuses et push
- Localisation
Vue d'ensemble d'Objective C
- Propriétés
- Catégories
- Syntaxe des fonctions
- Attributs de propriété readWrite et readOnly
Intégration des réseaux sociaux dans iOS :
- Intégration Facebook
- Intégration Twitter
- Intégration Mail
- Intégration d'une application tierce
Composants UI dans iOS :
- UITextField
- UITextView
- UISegmentedControl
- UISlider
- UISwitch
- UIProgressView
- UIPageControl
- UIStepper
- UIScrollView
- UIPickerView
- UIActionSheet
- UIWebView
- Barre de recherche (SearchBar)
Autres composants de base et autres dans iOS :
- Groupe et dossiers
- Fermetures (Closures)
- Tuples
- URLSession
- URLRequest
- UIAlertView
- UIActivityIndicatorView
- internal, public, private
- Guard
- Optionnels (Optionals)
Multitâche (Threading) dans iOS :
- GCD (Grand Central Dispatch)
- NSOperationQueue
- Fil principal et fils d'exécution en arrière-plan (Main Thread and Background Threads)
Interaction utilisateur
- Boutons et gestionnaires
- Reconnaissance du geste de panoramique (Pan gesture)
- Reconnaissance du geste de tapotement (Tap gesture)
- TableView personnalisée
- Les bases de CollectionView
Applications multi-écrans
- Navigation par table
- Applications par onglets (Tabbed Applications)
- NavigationControllers
- Présentation d'un contrôleur et différentes animations lors de la présentation et du poussage (push) des contrôleurs
Services de localisation
- Position et altitude
- Direction de la boussole
Accès à l'appareil et stockage
- Stockage de fichiers
- Accès à la bibliothèque musicale
- CoreData et SQLite dans iOS
- Trousse de clés (Keychain)
- User Defaults
- Plists
- NSSearchDomain
- Concept de répertoires et sécurité des applications NSSearchDomain
Cadre de la parole (Speech Framework)
- Reconnaissance vocale (Speech to text)
- Synthèse vocale (Text to Speech)
Cadre Multipeer (Multipeer Framework)
- Envoi de données d'un appareil à un autre
- Connexion de plusieurs appareils
Réseau
- Accès réseau
- Sérialisation et désérialisation JSON
- Services Web REST
- Les bases de l'analyse XML (XML Parsing)
Téléchargement de l'application sur l'App Store
- iTunes Connect
- Portail développeur - Profils de provisionnement
- Déploiement et distribution
- Exécution de l'application sur des appareils réels
- Téléchargement de l'application sur l'App Store
Applications
- Jeuf de points (Dots Game) : https://itunes.apple.com/app/the-dots-free/id850315430
- Application Notes : Notes App
- Application Contacts
- Récupération de données depuis un serveur via une API ouverte, création d'un TableView, affichage des détails des données, ajout d'une barre de recherche, utilisation de CoreData pour sauvegarder les données hors ligne
- Application basée sur votre propre idée
Pré requis
Vous devez avoir au moins une expérience dans un langage de programmation.
Nos clients témoignent (1)
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.
Abdullah Alaradi - Thiqah Business Services
Formation - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
Traduction automatique