Язык программирования: Swift
Инструменты разработки: Xcode
Основные библиотеки:
UIKit: Для создания пользовательского интерфейса
Foundation: Для основных функций, таких как управление памятью и обработка данных
Core Data: Для управления постоянным хранилищем
Core Location: Для доступа к данным о местоположении
AVFoundation: Для работы с мультимедиа
SceneKit: Для создания 3D-сцен
Важные концепции:
Делегаты: Объекты, которые позволяют классам взаимодействовать друг с другом
Протоколы: Определения интерфейсов, которым должны соответствовать типы
Расширения: Способы расширения функциональности существующих типов
Автоматическое управление памятью (ARC): Система для автоматического управления выделением и освобождением памяти
Паттерны проектирования: Общие решения для распространенных проблем в разработке программного обеспечения
Типы приложений:
Нативные приложения: Приложения, написанные на Swift и работающие без веб-браузера
Гибридные приложения: Приложения, использующие комбинацию нативного и веб-кода
Веб-приложения: Приложения, работающие в браузере на устройстве iOS
Распространенные функции:
Пользовательский интерфейс: Создание кнопок, текстовых полей, таблиц и других элементов пользовательского интерфейса
Обработка жестов: Отслеживание касаний, смахиваний и других жестов пользователя
Данные: Сохранение и получение данных с помощью Core Data или других механизмов хранения
Местоположение: Получение информации о местоположении пользователя
Мультимедиа: Воспроизведение аудио и видео, запись видео
Уведомления: Отправка и получение уведомлений на устройстве пользователя
Социальная интеграция: Вход в систему в приложениях социальных сетей, публикация контента
Ресурсы для начинающих:
[Официальная документация Apple по iOS](https://developer.apple.com/ios/)
[Курс разработки приложений для iOS на Udemy](https://www.udemy.com/course/ios-12-programming-for-beginners/)
[Самоучитель по разработке приложений для iOS на Pluralsight](https://www.pluralsight.com/courses/ios-12-fundamentals)