Cours "Développeur iOS" - cours 140 000 roubles. de l'atelier Yandex, formation 10 mois, Date: 7 décembre 2023.
Miscellanea / / November 27, 2023
À tout moment qui vous convient
La formation sera divisée en sprints, et vous pourrez étudier à tout moment, l'essentiel est de respecter le délai
Utiliser des exemples tirés de la vie et une pratique constante
Vous étudierez en ligne sur la plateforme Workshop avec une théorie claire dans un langage simple. Ensuite, nous mettrons la théorie en pratique: vous apprendrez la syntaxe dans un simulateur spécial d'Apple - Playground, et vous écrirez des projets dans l'environnement de développement Xcode.
Avec des projets pédagogiques
Vous pourrez résoudre les tâches quotidiennes d'un développeur iOS, réaliser plusieurs projets et chercher un emploi après le cours avec un portfolio prêt à l'emploi
Avec des leçons supplémentaires pour ceux qui débutent en programmation
Au début du programme payant, nous avons réalisé « Piscine ». Il s'agit d'une courte unité de 6 à 8 heures qui vous présentera les concepts de base de la programmation. Avant le « Pool », nous vous poserons quelques questions afin que vous puissiez décider vous-même de le participer ou non.
Partie introductive 15 heures - Partie introductive gratuite
Avant de vous lancer et de commencer à vous entraîner, vous apprendrez :
— quelles sont les fonctionnalités de la plateforme iOS et de l'écosystème Apple ?
— que font les développeurs et développeurs iOS ?
- de quels blocs se compose le programme ?
- quels projets vous devez réaliser
— Comment se déroule généralement la formation à l'Atelier ?
- qui t'aidera à étudier
- comment trouver un emploi après les études
Immédiatement après l'intégration, la partie gratuite du cours commencera. Sur celui-ci vous :
— se familiariser avec le langage Swift
— complétez et lancez votre première application (vous n'avez pas besoin de réapprendre les mathématiques pour cela)
- mais vous avez besoin d'un ordinateur Apple avec macOS Monterey ou version ultérieure)
- voyez les résultats de vos travaux et comprenez si vous êtes intéressé à faire du développement iOS à l'avenir
Module optionnel 6-8 heures - Piscine
Après avoir acheté le cours, nous vous offrirons une « Piscine ».
Ce sont plusieurs leçons supplémentaires qui seront disponibles avec le premier sprint. Grâce à eux, vous vous familiariserez avec les concepts de base de la programmation. Des tâches simples et amusantes sur la logique et les algorithmes de base vous aideront à mieux assimiler d'autres informations, surtout si vous rencontrez la programmation pour la première fois de votre vie.
Important: vous n’êtes pas obligé de passer par la « Piscine » et de partir directement à la découverte de la galaxie iOS. Pour décider si vous avez besoin ou non de cette étape, nous vous demanderons de répondre à plusieurs questions.
Thème 1. Logique de base
— Véracité
- Deux fois non
- Et ou pas
Thème 2. Algorithmique
— Base (séquence d'actions), concept d'algorithme
- Suivant
— La notion de variable
— Tableaux et boucles
Thème 3. La programmation
— Comment fonctionnent les langages de programmation, syntaxe, expression
Module 1 40 heures - Introduction au développement iOS et aux bases de Swift
Étudions les constructions de base du langage de programmation Swift, dans lequel la plupart des applications iOS sont écrites, dans un simulateur spécial d'Apple - Playground. Faisons connaissance avec l'environnement de développement et la façon dont les applications mobiles sont structurées
Sprint 1
Thème 1. Bases de Swift
Thème 2. Travailler avec Xcode
Thème 3. Les types
Thème 4. Tableaux, boucles
Thème 5. Les fonctions
Thème 6. Transferts
Sprint 2
Thème 1. Structures de données
Thème 2. Possibilités
Thème 3. Des classes
Thème 4. Protocoles
Thème 5. Rallonges
Module 2 121 heures - Bases de mise en page, de mise en réseau et de stockage de données
Le projet de ce module est un quiz sur les films populaires. Vous devez travailler avec le service cinéma IMDb: obtenez une liste des 250 films les plus populaires, et pour chaque film créez une question de quiz. L'utilisateur devra deviner quel personnage l'acteur a joué sur la photo.
Pour les utilisateurs, une application consiste avant tout à travailler avec l’interface que vous créez pour eux. Dans le cadre du travail sur l'application, vous créerez un écran de quiz, maîtriserez HTTP et REST pour travailler avec l'API IMDb et apprendrez à stocker les données utilisateur.
Les tâches et le projet de ce module seront d'abord soumis à des autotests dans Github ou à une auto-révision à l'aide d'une liste de contrôle, puis envoyés à un réviseur de code.
Sprint 3
- Thème 1. Bases de la mise en page et éléments de base de l’interface utilisateur. Disposez un écran simple pour une application avec des tickets basés sur la mise en page dans Figma, ajoutez et supprimez des éléments à l'écran.
- Thème 2. Connexion de la mise en page avec le code, traitement des actions utilisateur. Ajoutez le traitement des événements et des contrôles.
- Thème 3. Git
- Thème 4. Couches d'applications mobiles
Sprint 4
- Thème 1. Mise en page simple, conflits de mise en page automatique. Nous finalisons la disposition de l'écran et apprenons à résoudre les conflits de mise en page automatique.
- Thème 2. Communication avec code, affichage des données. Vous finaliserez la logique de l'interface et décrirez la structure des données de l'écran.
Sprint 5
- Thème 1. Stockage de données. Quels types de données existe-t-il et comment les stocker. En mémoire. Créez votre propre structure de données, apprenez à stocker les résultats dans les paramètres par défaut de l'utilisateur.
- Thème 2. Filet. Interaction client-serveur. HTTP et REST. Apprenez les bases de la communication client-serveur et apprenez à utiliser l'API du service IMDb.
- Thème 3. URLSession, URLRequête. Écrivez une demande simple pour recevoir des données, et si vous vous sentez assez fort pour résoudre le problème avec un astérisque, ajoutez un indicateur de chargement (UIActivityIndicatorView).
- Thème 4. Encodage de décodage. Vous créerez des structures codables à utiliser pour demander et traiter la réponse réseau.
Sprint 6
- Thème 1. Architecture. Introduction
- Thème 2. Architecture. SOLIDE, KISS, SEC, YAGNI. Apprenez les principes de base de la programmation orientée objet (POO) et les modèles de conception.
- Thème 3. Architecture. MVC. Faites une refactorisation personnelle et mettez de l'ordre dans votre code.
- Thème 4. Assemblage et déploiement. Gestion des dépendances. Connectez CocoaPods/Swift Package Manager et SwiftLint.
- Thème 5. Essais. Tests unitaires, XCTest. Écrivez un test basé sur la spécification fonctionnelle.
- Thème 6. Essais. Test de l'interface utilisateur. Écrivez un test d'interface utilisateur pour un ou plusieurs scénarios.
Module 3 106 heures - Navigation, travail avec les tables, autorisation
Dans ce module, vous maîtriserez les transitions entre les écrans, le défilement des éléments de mise en page et améliorerez vos compétences en interaction client-serveur. Le projet de ce module sera un client pour un service de stock de photos (analogue à Unsplash).
Les tâches et le projet de ce module seront d'abord soumis à des autotests dans Github ou à une auto-révision à l'aide d'une liste de contrôle, puis envoyés à un réviseur de code.
Sprint 7
- Thème 1. Interface utilisateur Disposition complexe. Créez une barre d'onglets (UITabBarController).
- Thème 2. Interface utilisateur La navigation. Disposez les écrans principaux de l’application en fonction de la mise en page.
Sprint 8
- Thème 1. Interface utilisateur UIScrollView et UITableView. Disposez les écrans principaux en fonction de la disposition à l'aide des composants de défilement (UIScrollView) et du tableau (UITableView).
- Thème 2. Stockage de données. Valeurs par défaut de l'utilisateur. Chargez les données du fichier JSON stocké dans UderDefaults.
Sprint 9
- Thème 1. Multithreading de base, autorisation. Apprenez à travailler avec du code multithread pour effectuer plusieurs tâches en parallèle. Ajoutez l'autorisation au service Unsplash à l'application.
- Thème 2. Stockage de données. Porte-clés. Apprenez à stocker des données dans le trousseau et à les récupérer à partir de là.
Sprint 10
- Thème 1. Réseau. Multithreading. Explorez Grand Central Dispatch (GCD), une bibliothèque qui vous permet de gérer efficacement les flux de tâches. Implémenter plusieurs requêtes réseau.
- Thème 2. Essais. Développement piloté par les tests (TDD), Mock, Stub. Écrire des tests de requêtes réseau (Mock, Stub).
Sprint 11
- Thème 1. Architecture. MVP+C. Immersion dans l'architecture des applications iOS. Présentation de l'architecture MVP.
- Thème 2. Architecture. MVVM. Refactoriser le projet: passer de MVC à MVVM
- Thème 3. Architecture. Coordonnateurs. Implémentez des coordinateurs pour l’écran de connexion et les écrans principaux.
Sprint 12
- Thème 1. Assemblage et déploiement. Xcode avancé. À un niveau plus profond, plongez dans les paramètres du projet. Apprenez à travailler avec les configurations de projet (vous pourrez modifier la source de données de l'application).
Module 4 91 heures - Collections, contrôleurs intégrés, bases de données et bases du multithreading
Dans ce module, vous créerez une application de suivi pour divers événements. Vous maîtriserez la mise en page complexe - travailler avec des collections. Cette fois, toutes les données seront stockées localement dans la base de données et les informations seront traitées sur un thread en arrière-plan.
Les tâches et le projet de ce module seront d'abord soumis à des autotests dans Github ou à une auto-révision à l'aide d'une liste de contrôle, puis envoyés à un réviseur de code.
Sprint 13
- Thème 1. Interface utilisateur UICollectionView et ChildVCs. Vous créez les modèles de liste et de domaine du tracker, l'écran de création du tracker et implémentez la logique métier.
Sprint 14
- Thème 1. Architecture propre. Synchronisez les mises à jour des données entre plusieurs écrans (création d'un nouveau cracker et de l'écran principal).
- Thème 2. UICollectionView et ChildVCs. Maîtrisez le travail d'affichage des données dans plusieurs colonnes et de division du contrôleur en enfants.
Sprint 15
- Thème 1. Stockage de données. Base de données. Intégrez des bases de données dans le projet. Apprenez à l'application à enregistrer et à lire les informations de la base de données.
Sprint 16
- Thème 1. Multithreading. GCD, Opérations
- Thème 2. Multithreading. Sécurité des fils. Implémentez une recherche par trackers sur l’écran de la liste des trackers avec Debounce.
- Thème 3. Multithreading. DispatchGroup, file d'attente Découvrez comment regrouper les tâches asynchrones dans votre application.
Sprint 17
- Thème 1. Stockage de données.. Maîtriser le travail avec le modèle de domaine et mettre en œuvre la migration.
Module 5 12 heures - Développement produit et équipe
Sprint 18
- Thème 1. Cycle de vie du produit, MVP
- Thème 2. Agile
- Thème 3. Outils de travail d'équipe
- Thème 4. Le développement mobile dans la vraie vie. Vous comprendrez comment les équipes sont structurées, qui est qui, comment communiquer avec différents rôles.
- Thème 5. Git pour les géants
- Thème 6. Décomposition des tâches
Ligne d'arrivée 40 heures - Projet de fin d'études en équipe
Divisez-vous en équipes de 3 à 5 personnes et créez ensemble une application de commerce électronique – une petite place de marché NFT. Il s'agit d'une application avec un catalogue d'images NFT que vous pouvez visualiser, sélectionner, ajouter à votre panier, consulter et effectuer un achat.
Vous aurez une mission technique du manager et une conception - vous devrez décomposer tout le travail, le diviser en sprints et réaliser le produit en 1 mois.
Sprint 19
- 1 semaine
Appelez un mentor qui vous aidera à décomposer les tâches principales du projet et l'équipe les répartira entre elle. - 2 semaines
Réaliser une rétrospective et tirer des conclusions sur une période de travail de deux semaines.
Sprint 20
- 3 semaines
Avec votre mentor, vous planifierez les tâches restantes. - 4 semaines
Partagez votre travail avec d'autres équipes dans une démo.
Réaliser une rétrospective et tirer des conclusions sur l’ensemble du projet d’équipe.
Parcours de carrière 30 heures - Programme d'emploi
Cette partie du cours s'adresse à ceux qui ont décidé de trouver un emploi dans le domaine du développement. Il devient disponible après avoir terminé le module 4.
Le parcours professionnel est organisé de la même manière que les thèmes précédents: théorie et pratique. Mais au lieu de compétences en programmation, vous apprendrez des stratégies de recherche d'emploi et découvrirez les subtilités du choix. entreprise employeur, et en guise de stage vous rédigerez non pas du code, mais un curriculum vitae et son accompagnement lettre.
Pendant le cours, vous préparerez un portfolio pour la visite d'un employeur et effectuerez des études de marché de l'emploi, ainsi que des entretiens techniques lors de réunions publiques.
Sprint 1
— Profession et établissement d'objectifs
- Recherche d'emploi
- Marché du travail
- Emploi de rêve
— Préparer un CV
— Bon portefeuille
Sprint 2
— Recherche d'emploi informelle
- Lettre de motivation
— Communication avec les RH
— Analyse de vos propres résultats
Sprint 3
— Préparation d'un entretien
— Compétences générales et techniques
- Argent
— Sélection d'entreprises
— Bureau, travail à distance ou freelance ?
— Comment ne pas se tromper lors du choix d'une entreprise
- Probation
— Entretien technique public
Accélération
Programme d'accompagnement: vous recherchez un emploi, nous vous conseillons et vous aidons. Ceux qui ont terminé le programme d’emploi et recherchent activement du travail peuvent participer au programme. Les participants mettent en pratique les compétences acquises dans le cadre du programme d'emploi, adaptent ces compétences à leur propre stratégie de recherche d'emploi et rendent compte de leurs résultats chaque semaine.
Le principal format de participation est constitué par des consultations individuelles et des entretiens publics.