50% скидка на курс для iOS-разработчиков

9 ноября стартует онлайн-курс для тех, кто хочет стать iOS-разработчиком.

Оставить комментарий

Промокод DEV50 дает скидку в 50% на все курсы Skillfactory с 15 по 31 октября включительно

Для кого

Для новичков, уровень «с нуля».

Длительность

12 месяцев.

Программа

Программирование на Objective-C и Swift

  • Введение в программирование
  1. Computational thinking. Работа кода. Хранение и передача информации.
  2. Устройство WEB и работа браузера. Работа протоколов. DNS.
  3. Основы работы с сетями. TCP/UDP.
  4. Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования. Принципы SOLID, KISS.
  5. Качество кода.
  • Введение в Objective-C
  1. Введение в Git. Основные операции. Ветки, представление о мёрдже. Командная работа.
  2. Инварианты и переменные. Указатели. Типы данных. Объявление методов и классов. Вызов методов.
  3. Создание объектов. Протоколы. Обработка исключений.
  4. Динамичность Objective-C и работа с Runtime API. Особенности интеграции Objective-C и Swift. Поддержка проектов с Objective-C-кодом.
  • Swift
  1. Обзор и установка IDE. Знакомство с Playground.
  2. Переменные, константы, основные типы данных. Преобразование типов.
  3. Операторы и выражения. Булевы и логические выражения. Условные конструкции.
  4. Циклы. Условия. Инструкции.
  5. Функции. Методы. Замыкания.
  6. Структуры и энумы.
  7. Опшионалы. Строки. Классы.
  8. Коллекции: массивы, словари, множества.
  9. Объектно-ориентированное программирование: наследование, полиморфизм, свойства классов.
  10. Протоколы.
  11. Обработка исключений и ошибок.
  12. Generic-код.

Мобильная iOS-разработка

  • Интерфейсы и архитектура приложения
  1. Основные компоненты для работы с Xcode: Navigator, Debug area, Utilities.
  2. Архитектурные паттерны: MVC, MVVM, MVP, чистая архитектура. Cocoa-паттерн, структурный, поведенческий паттерны.
  3. Архитектурные принципы. SOLID и внедрение зависимостей.
  4. Жизненный цикл приложения.
  5. Инструмент Storyboard. Знакомство с фреймворком UIKit.
  6. Компоненты UIKit: UIView, UIViewController, Layout и AutoLayout, Navigation. Constraints. StackView. Жизненный цикл UIView.
  7. UIViewController. Создание окон и экранов. Создание переходов между экранами. Создание динамических интерфейсов.
  8. UITableView, UICollectionView. Работа с таблицами и коллекциями.
  9. Создание собственных UI-компонентов.
  10. Работа с фреймворками Cocoa Touch и Swift UI.
  11. Делегирование и работа с протоколами.
  12. Создание уведомлений.
  13. Взаимодействие с сервером. Форматы передачи данных: JSON, XML, binary, base64 и др. Парсинг JSON.
  14. Асинхронное программирование.
  • Работа с данными и их хранение
  1. Основы хранения данных. Работа с файловой системой APFS.
  2. OnDemandResourses. Работа с ресурсами для уменьшения размера приложения.
  3. Работа с фреймворком CoreData.
  4. Управление памятью. ARC (автоматический подсчёт ссылок).
  5. Хранение данных в облаке.
  6. Выборка и отображение данных. NSFethedRequest, NSFetchedResultsController.
  7. Работа с утечками данных встроенными средствами Xcode.
  8. Кэширование данных.
  9. Обзор Realm и SQLite+.
  • Многопоточность
  1. Потоки и конкурентность. Плюсы и минусы использования многопоточности.
  2. POSIX, NSThread: низкоуровневые API для работы с многопоточностью.
  3. Понятие очереди. Работа с Grand Central Dispatch.
  4. Работа с API OperationsQueue.
  5. Swift Package Manager, Carthage и CocoaPods: работа с менеджерами зависимостей для добавления сторонних фреймворков.
  6. Поиск и исправление ошибок встроенными средствами Xcode.
  7. Поиск проблем производительности приложения.
  • Работа с сетью
  1. Клиент-серверное взаимодейтсвие.
  2. Протокол HTTP, RESTful APIs.
  3. URLSession: высокоуровневый API для работы с сетью.
  4. Сериализация и десериализация данных в Realm.
  5. Работа с сетью в фоновом режиме.
  6. WKWebView, SFSafariViewController: отображение веб-страниц внутри приложения.

Параллельный трек — карьерный модуль.

  1. Составление CV и cover letter.
  2. Имитация технического интервью с экспертом-разработчиком и полезный фидбек.
  3. Решение реальных тестовых заданий.
  4. Практическое задание: отправлять не менее 10 откликов на позиции Junior iOS Developer в день в течение двух недель.

Продвинутая мобильная разработка

  • Безопасность приложений
  1. Безопасная передача данных между сервером и приложением.
  2. Пароли, токены: хранение секретной информации в приложении.
  3. Добавление функции FaceID в приложение.
  4. Добавление аутентификации через отпечаток пальца.
  • UX/UI-дизайн для мобильного разработчика
  1. Основы digital-дизайна.
  2. UX-исследования. Построение CJM.
  3. Проектирование в Figma. Дизайн-концепция. Material Design.
  4. Прототипирование интерфейса.
  5. Навигация в приложении.
  • Дополнительные фреймворки
  1. Фреймворк Photos: работа с изображениями.
  2. Фреймворки AVKit и AVFoundation: работа с видео.
  3. Фреймворки AudioToolbox и CoreAudio: работа с аудио.
  4. App Extensions: расширение возможностей приложения.
  5. Добавление встроенных покупок в приложение.
  6. Интеграция с социальными сетями.
  7. Особенности создания приложений для Apple Watch, AppleTV, iPad.
  • Тестирование, debugging и аналитика
  1. Unit-текстирование. TDD-тестирование. Фреймворк XCTest.
  2. UI-тестирование.
  3. A/B-тестирование.
  4. Debugging: LLDB и Break-Pointer.
  5. Инструменты аналитики: GoogleAnalytics, Firebase и Crashlytics, TestFlight.
  • Сборка и подготовка к публикации приложения в AppStore.
  1. Концепция CI/CD. Доработки и оптимизация приложения. Поддержка приложения.
  2. Работа с CI-системами: Fastlane, Jenkins, Travis.
  3. Локализация приложения.
  4. Работа с Review Guideline и iTunesConnect.
  5. Загрузка в AppStore. Стратегии распространения приложения.

Цена

12 500 рос. руб. в месяц (без скидки).

Промокод DEV50 дает скидку в 50% на все курсы Skillfactory с 15 по 31 октября включительно

Записаться на курс


Читать на dev.by