Профессия Objective-C-разработчик для iOS
Objective-C-разработчик для iOS - это специалист, который пишет мобильные приложения для устройств Apple на языке Objective-C. Objective-C был основным языком для разработки под iOS и macOS до появления Swift, и на нём до сих пор работает огромное количество приложений в App Store. В этом уроке мы говорим именно о разработке мобильных приложений для iOS на Objective-C. Разработчик создаёт интерфейсы, пишет бизнес-логику, работает с базами данных и сетевыми запросами, а также занимается поддержкой и обновлением старых проектов.
Инструменты
- Objective-C
- Среда разработки: Xcode
- Фреймворки: UIKit, Foundation
- Архитектура: MVC, MVVM
- Библиотеки: AFNetworking (сеть), CoreData (БД)
- Базы данных: CoreData, SQLite, Realm
- Git
- CocoaPods (менеджер зависимостей)
- Тестирование: XCTest, XCUITest
Роадмэп
Чтобы стать Objective-C-разработчиком для iOS, нужно пройти такой путь:
- Выучить основы Objective-C: синтаксис, переменные, методы, классы, категории.
- Освоить работу с памятью: ручной подсчёт ссылок (MRC) и Automatic Reference Counting (ARC).
- Изучить UIKit для создания интерфейсов.
- Освоить работу с таблицами (UITableView), коллекциями (UICollectionView), навигацией.
- Изучить работу с сетевыми запросами (AFNetworking или NSURLSession).
- Освоить работу с базами данных (CoreData, SQLite).
- Изучить асинхронность: GCD, NSOperation.
- Освоить паттерны проектирования: MVC, MVP.
- Изучить работу с Git и командную разработку.
- Научиться публиковать приложение в App Store.
- Собрать портфолио: 2-3 приложения для iOS.
- Начать искать работу.
Типичный день
Утро Objective-C-разработчика для iOS начинается с проверки почты и задач в Jira. Ему поставили задачу: добавить новую функцию в существующее приложение, написанное на Objective-C. Он пишет код на Objective-C, используя UIKit, добавляет новые элементы интерфейса, настраивает обработку событий, тестирует на симуляторе. После обеда занимается поддержкой старого кода - рефакторинг и оптимизация. Затем участвует в созвоне команды и обсуждает планы по переводу проекта на Swift. К вечеру пушит код в Git и создаёт Pull Request.
Сложности
- Objective-C - это старый язык с непривычным синтаксисом, который сложно читать новичкам.
- Swift вытесняет Objective-C, и вакансий с каждым годом становится меньше.
- Работа с ручным управлением памятью может быть сложной и приводить к утечкам.
- Для разработки под iOS нужен Mac, что дороже разработки под Android.
- Публикация в App Store требует оплаты (99 $ в год) и строгой проверки.
Вход
Минимальный порог входа - знание основ Objective-C, понимание UIKit, умение создавать простые интерфейсы и работать с сетью.
Рост
Из Objective-C-разработчика для iOS можно расти в такие профессии:
- Swift-разработчик для iOS - если перейти на современный язык.
- Mobile Tech Lead - управление iOS-командой.
- Mobile Architect - проектирование архитектуры приложений.
- macOS-разработчик - если перейти на создание десктопных приложений.
- Разработчик игр для iOS - если уйти в геймдев.