Top.Mail.Ru
Программа обучения
1 Этап: «Программирование на Objective-C и Swift»
Введение в программирование
Результат:
1. Напишете 20 простых программ на псевдокоде с использованием событий, условий, циклов и функций
Время прохождения : 1 месяц
Содержание:
Computational thinking. Работа кода. Хранение и передача информации
Основы работы с сетями. TCP/UDP
Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования. Принципы SOLID, KISS
Качество кода
Результат:
Практика:
Содержание:
1. Освоите синтаксис Swift — от базовых логических конструкций до сложных концепций языка
2. Напишите 50+ программ на Swift и научитесь работать в IDE и «песочнице»
1. Проект 1: Написание игры по типу Arkanoid на Swift с помощью SpriteKit
Swift
Время прохождения : 1 месяц
Обзор и установка IDE. Знакомство с Playground
Операторы и выражения. Булевы и логические выражения. Условные конструкции
Циклы. Условия. Инструкции
1 Этап: «Программирование на Objective-C и Swift»
2 Этап: Мобильная iOS-разработка
3 Этап: Мобильная iOS-разработка
Устройство WEB и работа браузера. Работа протоколов. DNS
Переменные, константы, основные типы данных. Преобразование типов
Функции. Методы. Замыкания
2. Проект 2: Написание калькулятора на Swift
3. 10 практических работ по написанию кода на Swift
4. Тренажёр по синтаксису Swift
Структуры и энумы
Коллекции: массивы, словари, множества
Объектно-ориентированное программирование: наследование, полиморфизм, свойства классов
Опшионалы. Строки. Классы
Протоколы
Обработка исключений и ошибок
Generic-код
Обратная связь
2 Этап: «Мобильная iOS-разработка»
Интерфейсы и архитектура приложения
Время прохождения : 2 недели
Содержание:
Основные компоненты для работы с Xcode: Navigator, Debug area, Utilities
Архитектурные паттерны: MVC, MVVM, MVP, чистая архитектура. Cocoa-паттерн, структурный, поведенческий паттерны
Архитектурные принципы. SOLID и внедрение зависимостей
Содержание:
Основы хранения данных. Работа с файловой системой APFS
OnDemandResourses. Работа с ресурсами для уменьшения размера приложения
Работа с фреймворком CoreData
Жизненный цикл приложения
Инструмент Storyboard. Знакомство с фреймворком UIKit
Компоненты UIKit: UIView, UIViewController, Layout и AutoLayout, Navigation. Constraints. StackView. Жизненный цикл UIView
UIViewController. Cоздание окон и экранов. Создание переходов между экранами. Создание динамических интерфейсов
UITableView, UICollectionView. Работа с таблицами и коллекциями
Создание собственных UI-компонентов
Работа с фреймворками Cocoa Touch и Swift UI
Делегирование и работа с протоколами
Создание уведомлений
Время прохождения : 2 недели
Работа с данными и их хранение
4. Изучили особенности сборщика мусора и роботу с памятью
3. На практике изучили исключения коллекции
Взаимодействие с сервером. Форматы передачи данных: JSON, XML, binary, base64 и др. Парсинг JSON
Асинхронное программирование
Управление памятью. ARC (автоматический подсчёт ссылок)
Хранение данных в облаке
2. Изучили и на практике освоили переменные, типы данных, классы, массивы и циклы
Практика:
1. 4 практикума по работе с данными
1. Используете AutoLayout в качестве технологии верстки
2. Научитесь проектировать динамичные мобильные интерфейсы
3. Реализуете своё первое приложение
1. Проект 3: Создание интерфейса главной страницы для медитации (или любого хобби на выбор) в InterfaceBuilder
2. Проект 4: Создание интерфейсов многоэкранного приложения для планирования дел и событий
Практика:
3. Проект 5: Приложение для информирования о погоде в нескольких городах с подключением к сторонним данным
Компоненты UIKit: UIView, UIViewController, Layout и AutoLayout, Navigation. Constraints. StackView. Жизненный цикл UIView
UIViewController. Cоздание окон и экранов. Создание переходов между экранами. Создание динамических интерфейсов
UITableView, UICollectionView. Работа с таблицами и коллекциями
Создание собственных UI-компонентов
11
12
13
Результат:
14
Многопоточность
Практика:
1. Проект 6: Приложение для обмена изображениями с возможностью ставить реакции, оставлять комментарии, делать личные подборки
Время прохождения : 2 недели
Содержание:
Потоки и конкурентность. Плюсы и минусы использования многопоточности
POSIX, NSThread: низкоуровневые API для работы с многопоточностью
Понятие очереди. Работа с Grand Central Dispatch
Поиск и исправление ошибок встроенными средствами Xcode
Поиск проблем производительности приложения
Работа с сетью
Практика:
1. Реализуете асинхронность в вашем приложении для увеличения производительности, настроите обмен данными по сети и с базой данных и увеличите функциональность приложения
Время прохождения : 2 недели
Содержание:
Клиент-серверное взаимодейтсвие. Протокол HTTP, RESTful APIs
URLSession: высокоуровневый API для работы с сетью
Сериализация и десериализация данных в Realm
Работа с сетью в фоновом режиме
WKWebView, SFSafariViewController: отображение веб-страниц внутри приложения
Параллельный трек — карьерный модуль:
Составление CV и cover letter
Имитация технического интервью с экспертом-разработчиком и полезный фидбэк
Решение реальных тестовых заданий
Практическое задание: отправлять не менее 10 откликов на позиции Junior iOS Developer в день в течение двух недель
Интерфейсы и архитектура приложения
Результат:
1. Научитесь проектировать интерактивные и динамические мобильные интерфейсы и реализуете своё первое приложение
Время прохождения : 1 неделя
Содержание:
Основы digital-дизайна
3 Этап: «Мобильная iOS-разработка»
Дополнительные фреймворки
Практика:
1.Проект 6.1: Добавление в приложение для обмена изображениями возможности обмена аудио- и видеофайлами
Время прохождения : 2 недели
Содержание:
Фреймворк Photos: работа с изображениями
Фреймворки AVKit и AVFoundation: работа с видео
Фреймворки AudioToolbox и CoreAudio: работа с аудио
App Extensions: расширение возможностей приложения
Добавление встроенных покупок в приложение
Компоненты UIKit: UIView, UIViewController, Layout и AutoLayout, Navigation. Constraints. StackView. Жизненный цикл UIView
UIViewController. Cоздание окон и экранов. Создание переходов между экранами. Создание динамических интерфейсов
Тестирование, debugging и аналитика
Практика:
1. 1 практикум по UI-тестированию
Время прохождения : 1 неделя
Содержание:
Unit-тестирование. TDD-тестирование. Фреймворк XCTest
UI-тестирование
Сборка и подготовка к публикации приложения в AppStore
Результат:
Изучите дополнительные фреймворки и библиотеки для придания большей функциональности вашему приложению, спроектируете безопасное архитектурное решение для финального проекта, настроите тестирование, подключите инструменты аналитики и разработаете приложение-мессенджер
Время прохождения : 2 недели
Содержание:
Концепция CI/CD. Доработки и оптимизация приложения. Поддержка приложения
Работа с CI-системами: Fastlane, Jenkins, Travis
Локализация приложения
Загрузка в AppStore. Стратегии распространения приложения
Практика:
1.Финальный проект: Приложение-мессенджер с различными типами обмена сообщениями (личные сообщения, канал, групповой чат, чат-бот) на Swift
Введение в Objective-C
Результат:
Освоите синтаксис и основные конструкции Objective-C, чтобы в будущем было легче подойти к поддержке кода на нём в реальных проектах
Время прохождения : 2 недели
Содержание:
Инварианты и переменные. Указатели. Типы данных. Объявление методов и классов. Вызов методов
Создание объектов. Протоколы. Обработка исключений
Динамичность Objective-C и работа с Runtime API. Особенности интеграции Objective-C и Swift. Поддержка проектов с Objective-C-кодом
Практика:
1.4 мини-проекта по написанию кода на Objective-C
После успешного завершения обучения:
Сертификат
Персональный сертификат о прохождении специализации. По запросу на английском языке.
Развитие карьеры и бизнеса:
У вас будет:
У вас будет:
У вас будет:
У вас будет:
Консультации с ментором в течение обучения.
Подборки вакансий, инсайты рынка труда.
Проекты в ваше портфолио.
Реальный опыт на крауд-платформах.