Академия BelHard
Начальный уровень
Профессиональный уровень

Курс «Основы программирования
на Swift под iOS»

СТАРТ: по мере набора группы
ВРЕМЯ ЗАНЯТИЙ: C 19:00-22:00
КОЛИЧЕСТВО ЗАНЯТИЙ: 16
СТАРТ: по мере набора группы
ВРЕМЯ ЗАНЯТИЙ: C 19:00-22:00
КОЛИЧЕСТВО ЗАНЯТИЙ: 16

Кто такой Swift-разработчик?

Специалист, который занимается разработкой программ на платформе iOS для мобильных и настольных устройств от компании Apple — Mac, iPhone, iPad, Apple TV и Apple Watch.

Кто такой Swift-разработчик?

Специалист, который занимается разработкой программ на платформе iOS для мобильных и настольных устройств от компании Apple — Mac, iPhone, iPad, Apple TV и Apple Watch.

Программа курса
«Основы программирования на Swift под iOS»

Введение
• Обзор программы курса;
• Основные правила курса;
• Обзор программного обеспечения;
• Руководство по установке Mac OS X и Xcode;
• Обсуждение возможных проблем, связанных с установкой Mac OS X;
• Принципиальные отличия версий Xcode 8.0, 8.3, 9.0, 9.3;
• Особенности разработки под iOS.
Основы языка программирования Swift
  • Понятие класса и объекта;
  • Переменные - объявление, использование;
  • Ветвление. Операторы if-else, switch;
  • Цикл for-in и его назначение;
  • Массивы — объявление, назначение, использование.
Основы языка Swift — продолжение
  • Структуры — отличия от массивов, где используются;
  • Значимые и ссылочные типы;
  • Методы — объявление, входящие параметры. Для чего вообще нужны методы;
  • Структурирование класса;
  • Отладчик — как пользоваться, особенности;
  • Классы. Инкапсуляция, наследование, полиморфизм.
Функции и возвращаемые значения в Swift
• Методы — возвращаемые значения;
• Кортежи. Создание и обработка;
• Вложенные функции — зачем нужны и как использовать;
• Фильтрация и сортировка массивов.
Объекты и классы
• Классы — статические и динамические;
• Создание своего класса и работа с ним;
• Для чего нужны статические классы;
• Синглтон — создание и принципы работы.
Объекты и классы — продолжение
• Cоздание кастомного объекта и работа с ним;
• Cвойства кастомных объектов;
• Объединение объектов в массивы;
• Словари, как альтернатива массивов;
• Инкапсуляция массива в кастомные объекты;
• Передача объектов в функции и обработка.
Строки
• Cтрока как массив символов;
• Объединение строк;
• Поиск по строкам;
• Посимвольное обрезание строк.
Опциональные свойства классов и объектов
• Опциональные свойства — что это и зачем;
• Принудительное разворачивание опциональных свойств;
• Опасность guard и if-let — преимущества и как использовать;
• Преимущества использования опциональных свойств;
• Создание кастомного объекта с опциональными свойствами.
Инкапсуляция
• Инкапсуляция как один из основных принципов ООП;
• Cпецификаторы доступа public, private, file private;
• Принципы построения защищенного класса;
• Override — перегрузка операторов и функций для классов;
• Иерархия классов.
Графический интерфейс Xcode
• Навигаторы основного окна Xcode;
• Работа со storyboard;
• UIViewController - основы;
• Поиск и добавление элементов UI;
• Сonstraints — основа связи элементов;
• UIView как контейнер.
Графический интерфейс Xcode — продолжение
• Отличие UI от UI. принципы построения интерфейса;
• UILabel — базовый элемент UI для вывода текста;
• Форматирование текста, цвет, размер, соответствие размерам экрана;
• UIButton — основа UX;
• Размеры кнопок, фоновые изображения, основные состояния кнопок;
• Привязка элементов UI к коду.
Взаимодействие с UI. Даты
• Обработка событий UX;
• Вывод в консоль текущих значений свойств объектов изменение UI из кода; отключение и сокрытие элементов UI и UX из кода;
• UIImage — основы работы с изображениями;
• Класс Date — основы работы с датами;
• Форматирование дат, превращение даты в текст и обратно.
Программное создание элементов UI. Переключатели
• Программное создание элемента UI;
• Пошаговая инструкция по форматированию элемента и добавлению его на экран;
• Изменение состояния элемента;
• Сокрытие элемента и его отключение;
• UISwitch — основы использования.
Ввод текста и его обработка. Picker-view
• UITextField и UITextView — отличия и принципы работы;
• Делегатные методы обоих классов;
• Обработка полученного текста;
• Ограничение количества вводимых символов;
• Форматирование текста, цвет и размер;
• Создание пикеров и работа с ними.
Предупреждения UIAlert и работа с клавиатурой
• Создание всплывающего окна;
• Создание и обработка выбранных событий;
• Обработка события появления клавиатуры;
• Изменение констрейнов для адаптации UI к отображенной клавиатуре;
• Затемнение фона — blur effect.
Итоговое занятие
• Выполнение тестового задания по итогам курса;
• Подведение итогов;
• Выдача сертификатов;
• Ответы на вопросы.

Программа курса
«Разработка на языке SWIFT. Профессиональный уровень»

Введение
  • отличия SWIFT от Objective C;
  • Обзор программы курса;
  • Основные правила курса;
  • Обзор программного обеспечения;
  • Руководство по установке Mac OS X и Xcode;
  • Обсуждение возможных проблем, связанных с установкой Mac OS X;
  • Принципиальные отличия версий Xcode 8.0, 8.3, 9;
  • Особенности разработки под iOS.
Введение в SWIFT - ускоренное
  • отличия SWIFT от Objective C;
  • переменные - объявление, использование;
  • массивы - объявление, назначение, использование
  • структуры - отличия от массивов, где используются. Значимые и ссылочные типы;
  • методы - объявление, возвращаемые значения. Для чего вообще нужны методы. Структурирование класса;
  • отладчик - как пользоваться, особенности • классы. Инкапсуляция, наследование, полиморфизм. Понятие класса и объекта.
Интерфейс Xcode, создание пользовательских интерфейсов
  • Interface builder;
  • Storyboards - что это, как пользоваться, для чего нужны. Достоинства и недостатки;
  • Базовые элементы интерфейса: UIButton, UIImage, UILabel;
  • UIView как структура интерфейса;
  • Построение интерфейса и его изменение под новые требования;
  • Constraints - основы;
  • Симулятор и реальные внешние девайсы.
Контроллеры и навигация
  • Паттерны проектирования. MVC, VIPER, CleanSwift;
  • Проектирование приложения до начала разработки;
  • UINavigationController и его использование. Навигация или present/dismiss. Стек навигации;
  • Сохранение настроек приложения в UserDefaults.
Таблицы. UITableViewController
  • Таблица как основа приложения;
  • Ячейки - динамические и статические;
  • Создание таблиц;
  • Управление таблицей - добавление ячеек, удаление, перемещение;
  • Классы — статические и динамические;
  • Создание своего класса и работа с ним;
  • Для чего нужны статические классы;
  • Синглтон — создание и принципы работы.
UIScrollView и UICollectionView. Тексты
  • Работа с текстами - редактирование, создание;
  • Скроллинг текста на экране;
  • Ячейки картинок - создание и управление;
  • Создание фотоприложения;
  • Импорт изображений в UICollectionView.
Распознавание жестов. Анимация
  • UIGestureRecognizer - для чего нужен и как использовать;
  • Касания, свайп-жесты - распознавание и обработка;
  • Базовая анимация, перемещение объектов;
  • Основные ошибки при работе с жестами.
Обработка ошибок. Протоколы и делегаты
  • UIAlertController - создание, использование, обработка действий;
  • Делегат - основной способ передать данные/событие;
  • NSNotification как устаревший и ненадежный вариант;
  • Протоколы - что это, создание, подключение.
Использование внутренних возможностей iPhone
  • Звонки с телефона;
  • Отправка СМС и почты с телефона;
  • Вызов других приложений;
  • Акселерометр, GPS;
  • Телефонная книга;
  • CocoaPods - сторонние библиотеки.
Локализация и аудио/видео
  • Extensions -расширения классов. Для чего нужны, как использовать. Локализация текстов, закругления углов и прочее;
  • Воспроизведение аудио. AVAudioPlayer;
  • Воспроизведение видео. AVPlayer и его особенности.
Карты и UIWebView
  • Подключение и использование карт Apple;
  • Карты Google - преимущества, использование;
  • UIWebView и построение простого браузера.
CoreData
  • Использование CoreData для хранения данных;
  • Запись в файл и чтение из файла;
  • Приведение объектов к требуемому типу;
  • Основные ошибки при работе с CoreData.
Профайлинг
  • Утечки памяти - опасность, причины, устранение;
  • Поиск утечек автоматизированным методом;
  • Профайлинг приложения - используемая память, скорость загрузки;
  • Объекты в памяти. ARC. Потенциальные проблемы.
Регистрация Apple ID, публикация приложений
  • Первичная регистрация;
  • Регистрация как разработчика. Оплата;
  • Создание билда для загрузки. Архивация;
  • Загрузка билда в AppStore;
  • Правила оформления приложения.
Итоговое занятие
  • Проверка зачетных проектов;
  • Оценка и обсуждение;
  • Подведение итогов;
  • Выдача сертификатов;
  • Подведение итогов;
  • Сбор отзывов о курсе.

В ходе курса Вы:

Освоите среду разработки X-Code и инфраструктуру среды Apple.
Изучите базовый синтаксис современного языка Swift.
Самостоятельно создадите несколько приложений, которые войдут в ваше портфолио.
Научитесь получать информацию от сторонних сервисов.
Освоите пошаговую подготовку приложения для публикации в AppStore.

Почему стоит изучать программирование
на Swift именно в Академии BelHard?

Оптимальный размер учебных групп
До 14 человек в каждой учебной группе. Это позволяет, с одной стороны, научиться работать в команде, а с другой – добиться индивидуального подхода к каждому слушателю.
Никаких требований к базовым знаниям
Сочетание теоретических лекций и практических занятий, необходимых для того, чтобы разобраться в языке программирования Swift.
60 ак.ч. теории и практики
Сочетание теоретических лекций и практических занятий, необходимых для того, чтобы разобраться в языке программирования Swift.
Всего 600 BYN за весь курс начального уровня и
720 BYN за профессиональный уровень
Стоимость курса - всего 1/5 средней зарплаты
Swift-разработчика в Беларуси (согласно данным портала dev.by). Возможна оплата в два этапа. Работаем с системой «Расчет» (ЕРИП).
Удобное время занятий
Вы можете освоить новую перспективную специальность без ущерба для вашей текущей работы.
Корпоративные группы и индивидуальное обучение
Мы адаптируем нашу учебную программу к вашим особым требованиям. Узнать подробнее

ПРЕПОДАВАТЕЛЬ КУРСА
Игорь Лебедев
Практикующий Swift-разработчик с 3+ опытом работы в сфере разработки iOS-приложений .
Стаж в IT – более 15 лет.

Другие курсы в Академии BelHard

Академия BelHard:
Отдел по работе с клиентами:
+375 (44) 546 54 54

+375 (29) 546 54 54

Отдел маркетинга и рекламы:
+375 (29) 123 30 08


E-mail: it-academy@belhard.com
Администрация, учебные классы:
г. Минск, пер. 4-ый Загородный, д. 56а (ст.м. Молодежная)
Учебные классы:
г. Минск, ул. Мельникайте, д. 2 (ст.м. Фрунзенская)