50% скидка на курс для iOS-разработчиков
9 ноября стартует онлайн-курс для тех, кто хочет стать iOS-разработчиком.
Для кого
Для новичков, уровень «с нуля».
Длительность
12 месяцев.
Программа
Программирование на Objective-C и Swift
- Введение в программирование
- Computational thinking. Работа кода. Хранение и передача информации.
- Устройство WEB и работа браузера. Работа протоколов. DNS.
- Основы работы с сетями. TCP/UDP.
- Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования. Принципы SOLID, KISS.
- Качество кода.
- Введение в Objective-C
- Введение в Git. Основные операции. Ветки, представление о мёрдже. Командная работа.
- Инварианты и переменные. Указатели. Типы данных. Объявление методов и классов. Вызов методов.
- Создание объектов. Протоколы. Обработка исключений.
- Динамичность Objective-C и работа с Runtime API. Особенности интеграции Objective-C и Swift. Поддержка проектов с Objective-C-кодом.
- Swift
- Обзор и установка 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 рос. руб. в месяц (без скидки).
Читать на dev.by