iOS-разработчик с нуля
Научитесь разрабатывать сложные мобильные приложения под iOS на языке Swift
Описание:
Кому подойдёт этот курс:
- Тем, кто хочет сменить профессию. Освоите новую IT-профессию и получите возможность достойно зарабатывать в удобном графике.
- Начинающим iOS-разработчикам. Отработаете теорию на практике, узнаете тонкости iOS-разработки от менторов курса и почувствуете себя увереннее в профессии.
- Веб-, 1С-разработчикам, IT-специалистам. Расширите стек навыков или перейдёте в новое направление. Сможете брать новые сложные и интересные задачи, работать в иностранных проектах. Научитесь разрабатывать мобильные приложения для бизнеса.
Ваши навыки по итогам обучения:
- программировать на Swift
- создавать адаптивный интерфейс приложения и работать с анимацией
- работать с базой данных (удаление, добавление, редактирование, поиск, фильтрование) с помощью фреймворка CoreData
- использовать многопоточность в приложении
- работать с сетью: отправлять запросы на сервер, получать и обрабатывать данные из сети, настраивать покупки внутри своих приложений
- работать с медиа: накладывать фильтры, воспроизводить видео с телефона и из сети, работать со звуком
- добавлять в приложения уведомления, геолокацию, карты
- осуществлять аутентификацию пользователя при помощи логина и пароля, а также при помощи TouchID и/или FaceID
Программа курса:
Основы Swift
- В первом блоке вы познакомитесь с языком программирования Swift с нуля. Начнём с азов: с работы с переменными, типами данных, условными конструкциями. Вы напишете свой первый Hello world и подготовитесь к следующим блокам, посвященным задачам разработки приложений.
Введение в iOS-разработку
- Блок посвящён изучению языка программирования Swift. Swift является основным языком разработки приложений под iOS, macOS, watchOS и tvOS. Во время обучения вы познакомитесь как с азами разработки — переменными, классами, циклами, протоколами, так и с более сложными темами дженериками, замыканиями и ассоциированными типами. Мы сконцентрируемся на особенностях Swift и тех парадигмах, которые он предлагает для написания производительного, красивого и понятного кода.
Английский язык для начинающих разработчиков.
- В этом модуле вас ждут десять видео-лекций, которые помогут вам начать разговаривать на английском языке, как настоящий разработчик.
Пользовательский интерфейс
- Вы узнаете об основных компонентах интерфейса и их создании. Научитесь правильно строить адаптивный интерфейс, подстраивающийся под разный контент и размеры экранов как в Interface Builder, так и в коде. Разберётесь, как работать с контроллерами и переходами, и сможете самостоятельно создать пользовательский интерфейс из нескольких экранов. Поработаете с таблицами и коллекциями UITableView и UICollectionView.
Многопоточность
- Вы узнаете, что такое многопоточность, каковы плюсы и минусы её использования, а также разберётесь, как решать возникающие проблемы (такие как Deadlock, Livelock и другие). Далее вы познакомитесь с низкоуровневыми API для работы с многопоточностью (POSIX и NSThread) и с высокоуровневыми API (Grand Central Dispatch и OpetationQueue). Научитесь работать с Instruments, a также со встроенными в Xcode средствами для обнаружения утечек памяти и проблем производительности в приложении.
Работа с сетью
- Вы научитесь добавлять в проект сторонние фреймворки с помощью менеджеров зависимостей Carthage и Cocoapods, а также формировать и отправлять запросы с помощью консольной утилиты c URL. В процессе обучения поработаете с URLSession — высокоуровневым API для работы с сетью, узнаете о форматах передачи данных XML и JSON.
- Изучите работу с сетью в фоновом режиме, научитесь использовать WKWebView и SFSafariViewController для отображения веб-страниц внутри приложения. Узнаете, как организовать и обезопасить передачу данных между сервером и приложением; как хранить в приложении секретную информацию (токены или пароли); как добавить в приложение вход по отпечатку пальца или Face ID.
Хранение данных
- Вы познакомитесь с файловой системой APFS, узнаете, что такое Bundle и как iOS ограничивает доступ к файлам с помощью Sandbox. Разберётесь, как работать с файлами напрямую при использовании FileManager, как безопасно хранить данные в iCloud, как уменьшить размер приложения с помощью On-Demand Resources. Научитесь создавать стек Core Data, сохранять и загружать данные, работать с контекстами и предикатами. При помощи NSFethedRequest и NSFetchedResultsController сможете осуществлять выборку необходимых данных из базы и отображать их в таблице.
Мультимедиа и другие фреймворки
- Вы научитесь работать с фото-, аудио- и видеофайлами с использованием фреймворков AVFoundation, PhoKit и AudioTollbox. Познакомитесь с Accessibility и узнаете, как сделать приложение доступным для людей с ограниченными возможностями. Мы расскажем о локализации приложения, подготовке и его публикации в App Store. Вы научитесь проводить Unit- и UI-тесты приложения, а также работать с локальными и удалёнными уведомлениями, картами и геолокацией в приложении.
Карьера в iOS-разработке
- Узнаете о том, как выглядит работа iOS-разработчика в жизни, какие задачи выполняет программист. Как составить резюме и где искать работу. Как развиваться в профессии и какие существуют специализации.