Профессия iOS-разработчик
Почему iOS-разработка?
- Увеличение спроса
Через приложения люди вызывают такси, покупают еду, общаются. Телефоном пользуются всё чаще, а значит, мобильные разработчики становятся ценнее. - Это нужно компаниям
Крупному и среднему бизнесу нужны специалисты для реализации проектов. Наша цель — сделать из вас как раз такого специалиста. - Векторы развития
Можно делать мобильные игры, можно —бизнес-приложения или полезные программы для тысяч людей. А еще на Swift можно даже писать сервера и базы данных.
Предвосхищая требования компаний
Сейчас самый подходящий момент совершить рывок в сферу программирования и получить новую профессию с привлекательными перспективами и гарантированной занятостью.
Вместе с партнером — центром по подбору IT-персонала SymbioWay — мы проанализировали тысячи актуальных вакансий на hh.ru и создали программу, которая отвечает ожиданиям самых требовательных работодателей. Только актуальные знания и опыт.
Какие инструменты вы изучите
- Xcode
Cреда разработки ПО для платформ macOS, iOS, watchOS и tvOS - JSON
Текстовый формат обмена данными, основанный на JavaScript - Test Flight
Сервис, упрощающий тестирование приложений для iOS-устройств - Realm
NoSQL база данных для Android, iOS, Xamarin и JavaScript - iTunes Connect
Сервис, позволяющий разработчикам загружать свои приложения - iOS SDK
Комплект средств разработки для iOS, выпущенный Apple - RxSwift
Фреймворк, который позволяет «реактивно программировать» - Alamofire
HTTP-сетевая библиотека на Swift для iOS и Mac OS X - SpriteKit
Игровой движок от Apple
Гарантированное трудоустройство
Его обеспечивает наш партнер SymbioWay — HR-агентство по подбору IT-специалистов. Среди клиентов — «Мегафон», «Сбербанк», «Яндекс», МТС, ВТБ. Вот как выглядит этот процесс.
- Сдаете итоговый выпускной проект. На защите диплома обмениваетесь контактами с вашим персональным рекрутером.
- SymbioWay проводит ваше профилирование, собирает пожелания о должности мечты, составляет правильное резюме и публикует в своей базе.
- Рекрутер возвращается со списком вакансий. Вы проходите несколько наиболее интересных вам интервью.
- Выбираете позицию с наилучшими для себя условиями, и начинаете работать.
Первые дипломные работы
Вы сделаете три мобильных приложения на выбор.
Они же представляют собой три уровня сложности:
- приложение для учета личных финансов;
- приложение-магазин бренда Black Star Wear;
- приложение-аналог «Яндекс.Метро».
И проекты уровня PRO
На втором уровне, используя любую архитектуру (кроме MVC) и любую Rх-библиотеку, вы сможете:
- разработать видеоредактор с возможностью склейки двух видеороликов, наложения музыки и применения фильтров;
- создать аналог Instagram-фильтров: наложение фильтр-масок под особенности лица;
- создать аналог Pokemon GO: интегрировать геолокацию с дополненной реальностью.
Программа курса
42 темы, разработанных на основе требований работодателей методологами-практиками программирования.
Без «воды», только важная информация.
1. iOS-разработчик. Уровень 1
Введение в iOS-разработку. Переменные и константы
- Знакомство с лектором
- Что предстоит изучить на курсе
- Формат обучения
- Как установить Xcode
- Знакомство с Xcode Playground
- Переменные и константы
- Стандартные типы
- Домашнее задание
Модуль 2. Управление потоком данных: условия, циклы
- Условия
- Циклы
- Коллекции
- Оператор switch
- Домашнее задание
Модуль 3. Функции и опшиналы
- Функции
- Опшиналы
- Домашнее задание
Модуль 4. Классы, структуры, перечисления
- Классы
- Структуры
- Перечисления
- Домашнее задание
Модуль 5. Объектно-ориентированное программирование
- Введение в ООП. Инкапсуляция
- Наследование
- Протоколы и расширения
- Полиморфизм
- Домашнее задание
- О дипломных проектах
Модуль 6. Controller и сториборд
- Создание проекта в Xcode
- Структура проекта в Xcode
- Controller
- Сториборд
- Связь кода и интерфейса
- Домашнее задание
Модуль 7. Переходы и взаимодействие экранов
- Создание нового экрана и связка с кодом
- Переходы между экранами
- Обмен данными между экранами
- UINavigationController
- UITabBarController
- Встраивание контроллеров
Модуль 8. Стандартные UI-компоненты и работа с ними
- Создание нового экрана
- Лейблы и картинки
- Кнопки
- Текстфилды
- Как самому разбираться в стандартных компонентах
- Домашнее задание
Модуль 9. Autolayout, Constraints, StackViews
- Autolayout: введение
- Типы констрейнтов
- Intrinsic content size
- Приоритеты констрейнтов
- StackViews
- Управление в коде
- Домашнее задание
Модуль 10. Таблицы и коллекции
- Собственная таблица и UIScrollView
- Таблицы: интерфейс
- Таблицы: отображение данных
- Таблицы: обработка нажатий
- Таблицы: секции и хэдер
- Коллекции: отличия от таблиц и пример
- Домашнее задание
Модуль 11. Анимация: от А до Я
- Анимации: зачем они нужны?
- Стандартные анимации
- Спринг анимации
- Анимации layer
- Домашнее задание
Модуль 12. Создание собственных UI-компонентов
- Зачем создавать свои компоненты?
- Создаем свой компонент
- IBDesignable и IBInspectable
- XIB-файл для view
- Делегируем события
- Домашнее задание
Модуль 13. Взаимодействие с сервером, парсинг JSON. Стандартные средства и библиотеки
- Что такое JSON?
- Парсинг JSONстандартными средствами
- Cocoapods и GitHub
- Работа с Alamofire
- Домашнее задание
Модуль 14. Хранение данных: Realm, CoreData, UserDefaults, контроль версий
- Что, где и зачем хранить
- UserDefaults
- Realm
- CoreData
- Контроль версий
- Домашнее задание
Модуль 15. Функциональное программирование
- Введение в функциональное программирование
- Кейс: морской бой
- Операторы map, filter, reduce
- Домашнее задание
Модуль 16. Подпись и отправка приложений в AppStore. Обзор iTunes Connect
- Знакомство с developer.apple
- Сертификаты, идентификаторы, профили, автоматическая подпись приложений
- Знакомство с iTunes Connect
- Архивация и отправка приложения
- Домашнее задание
Блок 2. iOS-разработчик. Уровень 2
Модуль 1. Расширения и протоколы
- Протоколы
- Расширения
- Протокол-ориентированное программирование
- Домашнее задание
Модуль 2. Дженерики, собственные операторы
- Дженерики
- Ассоциированные типы
- Собственные операторы
- Собираем вместе: библиотека анимаций
- Домашнее задание
Модуль 3. Rх: что это, обзор Rх-библиотек, работа с ним
- Rх-мышление
- Rх-операторы и работа с ними
- Rх и интерфейс
- Утечки памяти
- Обзор Rх-библиотек
- Домашнее задание
Модуль 4. Архитектуры приложений: MVC, MVVM, Viper, Amber
- Архитектуры: обзор
- MVC
- МVVM
- Viper
- Amber
- Домашнее задание
Модуль 5. Асинхронное программирование
- Потоки
- Grand Central Dispatch
- Завершение потоков
- Безопасность
- Домашнее задание
Модуль 6. Оптимизация и инструменты Xcode
- View debugger
- Memory leaks
- Ildb
- Profiling
- Домашнее задание
Модуль 7. Алгоритмы и структуры данных
- Введение в алгоритмы и структуры данных
- Стэки и очереди
- Бинарные деревья
- Графы
- Сортировка и сложность алгоритма
- Домашнее задание
Модуль 8. Взаимодействие с Objective-C-кодом. Секретные фишки из Objective-C
- Введение в Objective-C
- Базовый синтаксис Objective-C
- Взаимодействие
- Секретные фишки
- Домашнее задание
Модуль 9. Интеграция с социальными сетями (FB, VK)
- Cocoapods u Carthage
- Интеграция с Facebook
- Интеграция с «ВКонтакте»
- Домашнее задание
Модуль 10. Maps: Apple, Google, Yandex
- Как работать с геолокацией
- Apple maps
- Google maps
- Yandex maps
- Домашнее задание
Модуль 11. Agile и командная разработка
- Процесс разработки мобильных приложений
- Scrum и Kanban
- Test-driven development
- Continuous Integration u Continuous Delivery
- Домашнее задание
Модуль 12. Vision, CoreML и нейронные сети: создаем скайнет
- Введение в нейронные сети, CoreML, Create ML
- Введение в Vision
- Создаем скайнет
- Домашнее задание
Модуль 13. AVFoundation: редактируем видео
- AVFoundation: введение
- AVFoundation: архитектура
- AVFoundation: работаем с видео
- AVFoundation: работаем со звуком
- Домашнее задание
Модуль 14. ARKit: играем с дополненной реальностью
- Введение в ARKit
- Создаем АR-игру
- Домашнее задание
Дипломные проекты
- Используя любую архитектуру (кроме MVC) и любую Rх-библиотеку, разработать видеоредактор с возможностью склейки двух видеороликов, наложения музыки и применения фильтров
- Создать аналог MSQRD: подстраивать маску под features'ы лица
- Создать аналог Pokemon GO: интегрировать геолокацию с дополненной реальностью
Блок 3. Мобильный разработчик PRO от Agima
Модуль 1. Знакомство с программой курса
- Знакомство с лектором
- Чему вы научитесь, закончив этот курс
- Длительность и формат обучения
- Как выполнять домашние задания
- Курсовая работа
Модуль 2. Разработка приложения для мобильных устройств (2 недели)
- Организация проекта, наименование файлов и ресурсов, конфигурации
- Основные модули приложения и организация взаимодействия между ними
- Шаблоны модулей и компонентов
- Запуск приложений на симуляторах и устройствах
Модуль 3. Инструменты разработки и командной работы (2 недели)
- Среда разработки МП (Xcode, Android Studio, Eclipse, etc.)
- Отладка приложений
- Работа с кодом в команде: gitflow, pull request'ы и code review
Модуль 4. Интеграции и сервисы (1 неделя)
- Интеграция с backend и сторонними сервисами
- Highload-сервисы и как их потреблять
- Использование сторонних библиотек в приложении
- Запуск приложений на симуляторах и устройствах
Модуль 5. Тестирование и отладка (1 неделя)
- Ручн тестирование: смоук, регресс и отчеты
- Тестирование на стейдже и на бою
- Верификация обновлений приложения
Модуль 6. Аналитика и локализация неисправностей (1 неделя)
- Сбор ошибок и исключений
- Локализация и устранение неисправностей
- Продуктовая аналитика: просмотр активностей пользователя в разрезе продукта
Модуль 7. База знаний и документация (1 неделя)
- Code style и документация
- База знаний по продукту и каналы коммуникации
- Версионирование приложений
Модуль 8. Управление разработкой (1 неделя)
- Ведение задач в таск-менеджере
- Управление релизами и версиями
Модуль 9. Распространение приложений для тестирования и на пользователей (1 неделя)
- Распространение приложений на собственные устройства
- Ключи и сертификаты для публикации в сторы
- Как пройти review в сторах
- Continuous integration / continuous delivery: сборка, автотесты и дистрибуция
- Удаленное управление устройствами и установкой приложений с помощью MDM (Mobile device management) решений
Модуль 10. Поддержка, доработки и оптимизация приложения (1 неделя)
- Обратная связь в приложении (идентификация пользователей)
- A/B-тестирование
- Обеспечение безопасности приложения
- Оптимизация проблемных компонентов
- Вопросы лицензирования third-party библиотек
Блок 4. Бонус-модуль
Система контроля версий Git
- Версии программного кода
- Установка Git
- Индекс и частичные коммиты
- Сравнение версий
- Отмена изменений и откат версий
- Репозитории и коллективная работа
- Ветки — создание и управление
- Слияние и разрешение конфликтов
- Полезные инструменты
- Правила работы с Git
Ваше резюме после обучения
Ожидаемая зарплата от 100 000 рублей.
Ключевые навыки:
- Создание мобильных приложений по гайдлайнам iO\
- Работа с API, в том числе социальных сетей
- Программирование анимаций
- Опыт проектирования клиент-серверных приложений
- Работа с реактивными библиотеками
- Работа с многопоточностью в приложениях
- Умение работать с iTunes Connect
- Умение ставить и соблюдать сроки
- Привычка писать комментируемый и строго форматированный код
- Умение разбираться в чужом коде
Владение инструментами:
Как проходит обучение
Представьте, что вы снова попали в школу, только учитель работает с вами удаленно, знания даются на порядок круче, а ритм обучения не позволяет расслабиться.
- Изучаете тему
Материал разбит на короткие видеоуроки, чтобы не уставать и лучше усваивать информацию. - Делаете домашнее задание
Если не получается, можно задать вопрос в общем чате и получить обратную связь. - Общаетесь с наставником
Преподаватель разбирает ошибки, вы исправляете их и двигаетесь дальше. - Защищаете диплом и развиваете карьеру
По окончании программы обучения у вас будут готовое портфолио, прокачанное резюме и работа