9 ноября стартует онлайн-курс для тех, кто хочет стать iOS-разработчиком.
Промокод DEV50 дает скидку в 50% на все курсы Skillfactory с 15 по 31 октября включительно
Для кого
Для новичков, уровень «с нуля».
Длительность
12 месяцев.
Программа
Программирование на Objective-C и Swift
Введение в программирование
Computational thinking. Работа кода. Хранение и передача информации.
Устройство WEB и работа браузера. Работа протоколов. DNS.
Основы работы с сетями. TCP/UDP.
Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования. Принципы SOLID, KISS.
Качество кода.
Введение в Git. Основные операции. Ветки, представление о мёрдже. Командная работа.
Инварианты и переменные. Указатели. Типы данных. Объявление методов и классов. Вызов методов.
Создание объектов. Протоколы. Обработка исключений.
Динамичность Objective-C и работа с Runtime API. Особенности интеграции Objective-C и Swift. Поддержка проектов с Objective-C-кодом.
Обзор и установка IDE. Знакомство с Playground.
Переменные, константы, основные типы данных. Преобразование типов.
Операторы и выражения. Булевы и логические выражения. Условные конструкции.
Циклы. Условия. Инструкции.
Функции. Методы. Замыкания.
Структуры и энумы.
Опшионалы. Строки. Классы.
Коллекции: массивы, словари, множества.
Объектно-ориентированное программирование: наследование, полиморфизм, свойства классов.
Протоколы.
Обработка исключений и ошибок.
Generic-код.
Мобильная iOS-разработка
Интерфейсы и архитектура приложения
Основные компоненты для работы с Xcode: Navigator, Debug area, Utilities.
Архитектурные паттерны: MVC, MVVM, MVP, чистая архитектура. Cocoa-паттерн, структурный, поведенческий паттерны.
Архитектурные принципы. SOLID и внедрение зависимостей.
Жизненный цикл приложения.
Инструмент Storyboard. Знакомство с фреймворком UIKit.
Компоненты UIKit: UIView, UIViewController, Layout и AutoLayout, Navigation. Constraints. StackView. Жизненный цикл UIView.
UIViewController. Создание окон и экранов. Создание переходов между экранами. Создание динамических интерфейсов.
UITableView, UICollectionView. Работа с таблицами и коллекциями.
Создание собственных UI-компонентов.
Работа с фреймворками Cocoa Touch и Swift UI.
Делегирование и работа с протоколами.
Создание уведомлений.
Взаимодействие с сервером. Форматы передачи данных: JSON, XML, binary, base64 и др. Парсинг JSON.
Асинхронное программирование.
Работа с данными и их хранение
Основы хранения данных. Работа с файловой системой APFS.
OnDemandResourses. Работа с ресурсами для уменьшения размера приложения.
Работа с фреймворком CoreData.
Управление памятью. ARC (автоматический подсчёт ссылок).
Хранение данных в облаке.
Выборка и отображение данных. NSFethedRequest, NSFetchedResultsController.
Работа с утечками данных встроенными средствами Xcode.
Кэширование данных.
Обзор Realm и SQLite+.
Потоки и конкурентность. Плюсы и минусы использования многопоточности.
POSIX, NSThread: низкоуровневые API для работы с многопоточностью.
Понятие очереди. Работа с Grand Central Dispatch.
Работа с API OperationsQueue.
Swift Package Manager, Carthage и CocoaPods: работа с менеджерами зависимостей для добавления сторонних фреймворков.
Поиск и исправление ошибок встроенными средствами Xcode.
Поиск проблем производительности приложения.
Клиент-серверное взаимодейтсвие.
Протокол HTTP, RESTful APIs.
URLSession: высокоуровневый API для работы с сетью.
Сериализация и десериализация данных в Realm.
Работа с сетью в фоновом режиме.
WKWebView, SFSafariViewController: отображение веб-страниц внутри приложения.
Параллельный трек — карьерный модуль.
Составление CV и cover letter.
Имитация технического интервью с экспертом-разработчиком и полезный фидбек.
Решение реальных тестовых заданий.
Практическое задание: отправлять не менее 10 откликов на позиции Junior iOS Developer в день в течение двух недель.
Продвинутая мобильная разработка
Безопасная передача данных между сервером и приложением.
Пароли, токены: хранение секретной информации в приложении.
Добавление функции FaceID в приложение.
Добавление аутентификации через отпечаток пальца.
UX/UI-дизайн для мобильного разработчика
Основы digital-дизайна.
UX-исследования. Построение CJM.
Проектирование в Figma. Дизайн-концепция. Material Design.
Прототипирование интерфейса.
Навигация в приложении.
Дополнительные фреймворки
Фреймворк Photos: работа с изображениями.
Фреймворки AVKit и AVFoundation: работа с видео.
Фреймворки AudioToolbox и CoreAudio: работа с аудио.
App Extensions: расширение возможностей приложения.
Добавление встроенных покупок в приложение.
Интеграция с социальными сетями.
Особенности создания приложений для Apple Watch, AppleTV, iPad.
Тестирование, debugging и аналитика
Unit-текстирование. TDD-тестирование. Фреймворк XCTest.
UI-тестирование.
A/B-тестирование.
Debugging: LLDB и Break-Pointer.
Инструменты аналитики: GoogleAnalytics, Firebase и Crashlytics, TestFlight.
Сборка и подготовка к публикации приложения в AppStore.
Концепция CI/CD. Доработки и оптимизация приложения. Поддержка приложения.
Работа с CI-системами: Fastlane, Jenkins, Travis.
Локализация приложения.
Работа с Review Guideline и iTunesConnect.
Загрузка в AppStore. Стратегии распространения приложения.
Цена
12 500 рос. руб. в месяц (без скидки).
Промокод DEV50 дает скидку в 50% на все курсы Skillfactory с 15 по 31 октября включительно
Записаться на курс