Тем, кто хочет изучить перспективный язык программирования и начать работать в самом востребованном секторе в мире
Всем, кто хочет постоянно развиваться и расти
- Аутсорс компании - Продуктовые компании - Фриланс - Делать что-то свое
Всем, кто хочет работать и зарабатывать, как им удобно
Программа обучения
В программу курса входят не только базовые знания. Наш курс – это системный подход к обучению от поддержки куратора до подачи CV будущему работодателю.
Коллекции и циклы
● Изучим коллекции: массивы, кортежи, множества и словари ● Разберем циклы for in, while и repeat while, также узнаем, какие из них лучше применять в тех или иных ситуациях
Введение
● Настройка среды программирования (IDE) XCode ● Изучение интерфейса и основных возможностей IDE ● Знакомство с XCode Playground. Playground – специальная «песочница» для изучения программирования на языке Swift, в ней мы будем знакомиться с языком.
Переменные, типы данных и операторы для работы с ними
● Узнаем, что такое переменные и константы ● Изучим базовые типы данных ● Изучим арифметические и логические операторы ● Поработаем с условными операторами
Классы и ООП
● Поймем отличие классов от структур ● Изучим три основных концепции ООП: Инкапсуляция, наследование и полиформизм
Функции и перечисления
● Познакомимся с понятием и назначением функций ● Разберем синтаксис функций ● Узнаем, что такое перечисления (enum) ● Оператор ветвления switch
Структуры
● Научимся создавать свои собственные сложные типы данных ● Изучим синтаксис структур ● Будем использовать структуры для написания более чистого и структурированного кода
Система контроля версий GIT
● Разберемся что такое система контроля версий и как она используется в разработке ● Создадим аккаунты на GitHub и настроим свой первый репозиторий ● Разберемся как работают основные git команды ● Настроим десктопный клиент для работы с git
Опциональные типы данных и Протоколы
● Познакомимся с опциональными типами данных ● Научимся выполнять развертывание опционалов ● Разберем отличия опциональных типов данных от обычных
Создание пользовательского интерфейса (UI) приложения
● Начнем работать в XCode над созданием реальных приложений ● Научимся создавать UI при помощи Interface Builder'a, специального инструмента для создания интерфейса без кода ● Будем запускать наше приложение на симуляторе и реальном телефоне
Базовая навигация в приложении
● Научимся отображать экраны модально ● Познакомимся с UINavigationController ● Узнаем, как хранятся контроллеры в памяти ● Изучим жизненный цикл ViewController ● Сделаем переходы между контроллерами
Обработка действий пользователя
● Познакомимся с кнопками, переключателями и полями для ввода текста ● Научимся создавать функции, которые будут связаны с элементами интерфейса и обрабатывать пользовательский ввод
Продвинутая работа с интерфейсом
● Изучение остальных UI элементов ● Работа с констрейнтами ● Анимация констрейнтов из кода
Работа с фреймворком SnapKit
● Освоим Фреймворк Snapkit ● Научимся создавать, изменять и удалять констрейнты напрямую из кода ● Добавим анимации для констрейнтов
Создание UI из кода
● Отказываемся от сторибордов и начинаем создавать наши приложения только через код ● Изучаем создание констрейнтов через код ● Добавляем View при помощи кода
Менеджер зависимостей CocoaPods
● Поймем, зачем нам нужны сторонние библиотеки ● Научимся их подключать ● Подключим нашу первую библиотеку - SnapKit
UIAlert и UIActionSheet
● Научимся показывать всплывающие окна ● Разберемся чем UIAlert отличается от UIActionSheet ● Добавим текстовые поля и кнопки на UIAlert
Работа со слоями
● Научимся анимировать и изменять слои ● Добавим закругление углов, чтобы сделать интерфейс более приятным ● Поработаем с тенями и границами view
AttributedStrings и UILabel
● Разберемся, как изменять строки при помощи NSAttributedString ● Применим сразу несколько разных атрибутов к одной строке ● Сделаем строки интерактивными
Хранение данных при помощи UserDefaults и работа с датой
● Узнаем, что такое UserDefaults, какие данные там можно хранить и где это лучше использовать ● Сохраним настройки приложения в UserDefaults ● Разберемся, как работать с датой, как ее получать и отображать
UITabBarController и передача данных между экранами
● Научимся создавать приложения с несколькими вкладками, такие как Telegram и Instagram, при помощи UITabBarController ● Разберемся как передавать данные между экранами вперед и назад
UITableView
● Научимся использовать таблицы для отображения большого количества данных ● Изучим, как они работаю и настраиваются ● Разберем отличия между UITablewViewDelegate и UITablewViewDataSource
Архитектурные паттерны
● Разберемся, что такое архитектура приложения и почему она важна ● Изучим основные архитектуры и разберем их отличия ● Научимся писать приложения придерживаясь MVC и MVP архитектур
Работа с сетью
● Узнаем, что такое HTTP протокол ● Разберемся в основных HTTP методах: GET, POST, PUT, DELETE ● Научимся отправлять сетевые запросы и получать данные с API ● Поработаем с REST API
Продвинутая работа с сетью
● Изучим протоколы Coddle, Decodable и Encodable ● Разберемся, из чего состоит HTTP запрос ● Научимся переключаться между потоками при создании запросов ● Подключим библиотеку Alamofire для упрощения создания запросов
CoreData
● Поработаем с нативной базой данных от Apple ● Разберем отличия CoreData и Realm ● Выясним, что и когда нам лучше использовать: Realm или CoreData
UICollectionView
● Узнаем разницу между UICollectionView и UITableView ● Научимся создавать кастомные ячейки ● Добавим анимацию для ячеек
Базы данных
● Подключим библиотеку Relam, которая предоставим нам базу данных, для хранения данных локально ● Узнаем разницу между базой данных и UserDefaults ● Изучим основные CRUD операции
Работа с памятью
● Разберемся, как устроена память в iOS ● Поймем, что такое ARC и как он работает ● Узнаем, что такое утечка памяти и как ее не допустить ● Разберем отличия weak и strong ссылок
Многопоточность в Swift
● Узнаем, что такое многопоточность и для чего она применяется ● Изучим основные инструменты для работы с потоками в Swift ● Разберем отличия многопоточности и асинхронности
Многопоточность: продолжение
● Поработаем с семафорами и мьютексами ● Научимся переключаться между потоками ● Узнаем, какие проблемы могут возникнуть при работе с потоками и как их избежать
Работа с камерой и микрофоном
● Изучим библиотеку AVFoundation ● Научимся делать снимки, а также доставать их из галереи ● Создадим свой собственный ImagePicker
Реактивное программирование
● Познакомимся с понятием «реактивного» программирования ● Узнаем, чем оно отличается от обычного подхода ● Поработаем с фреймворком RxSwift и Combine ● Разберем плюсы и минус данных фреймворков
Работа с картами
● Узнаем, как добавить карты в наше приложение ● Научимся отслеживать текущее положение пользователя ● Поработаем с акселерометром и гироскопом
HR
Защита дипломных проектов
HR
Итоговое занятие
Фреймворк SwiftUI
● Поработаем с новым UI фреймворком от Apple ● Разберемся в отличиях декларативного и императивного программирования ● Добавим фреймврок Combine в наш проект на SwiftUI
Темная тема и Локализация
● Изучим особенности локализации iOS приложений ● Добавим в наше приложение поддержку нескольких языков ● Узнаем, как добавить темную тему в наше приложение
Овладеете стеком технологий: язык Swift, UI Фреймворк UIKit и SwiftUI, которые помогут вам найти работу мечты
На курсе вы научитесь создавать самые крутые приложения для iOS, которые будут лучше остальных
Занятия проходят онлайн, в живом прямом эфире с преподавателем. Вы начнете с изучения основ и синтаксиса языка Swift, после начнете создавать UI/интерфейсы. Научившись работать с интерфейсом, перейдете к вещам, без которых сейчас не обходится ни одно мобильное приложение: работа с сетью и локальными базами данных. В конце курса вы изучите такие вещи, как карты, различные уведомления и другие platform-specific вещи. Также изучите систему контроля версий (GIT), менеджеры зависимостей (Swift Package Manager/CocoaPods) и многое другое.
Обязательные домашние задания с проверкой и рекомендациями от преподавателя.
Работа над проектом для портфолио в течение всего обучения. По окончании курса вы сможете добавить в свое резюме несколько работ.
Преподаватель курса
Мобильный разработчик из компании ITechArt.
Имеет 2 года опыта работы на различных проектах. Почти со старта своей карьеры начал заниматься обучением стажеров внутри компании, после чего разработал свою собственную программу подготовки разработчиков мобильных проложений для iOS.
Артем Халиляев
Старт обучения 22 декабря 2022
ОНЛАЙН | 40 занятий по 3 часа Продолжительность обучения: ~5 месяцев Акцент на практике: 80 часов чистой практики понедельник, четверг 19.00-22.00