Разработка мобильных приложений развивается. Растет не только число мобильных телефонов, но и всяких умных "штук": плееры, планшеты, часы, трекеры и т. д. И кто знает, что еще могут придумать.
Поговорим об одном из самых популярных направлений в мобильной разработке.
iOS — операционная система для смартфонов, планшетов, плееров, в общем всех переносимых устройств, которые выпускаются компанией Apple (о ней, думаю, не слышал только ленивый) с 2007 года. Приложения, написанные на iOS, подходят только для устройств от Apple. Компания трепетно следит за актуальностью операционной системы, поэтому раз в год стабильно выпускает обновление. В сентябре 2019 года вышла версия iOS 13.
Для создания программы iOS-разработчику необходимо установить среду разработки (IDE — Integrated Development Environment) Xcode. Ее можно бесплатно скачать в AppStore. Редактор включает инструменты для разработки приложений под Mac, iPhone, iPad, Apple TV, Apple Watch. Интерфейс, как и во многих продуктах Apple, простой: удобная верстка, настройка шрифтов, стилей и т. д. Кстати, для того, чтобы писать приложения для iOS, у разработчика обязательно должен быть Mac, способный поддерживать последние версии ПО.
Также полезно знать основные фреймворки, которые iOS-разработчики используют при работе:
Cocoa Touch — фреймворк для создания приложений для iPhone, iPod touch и iPad. Используя Cocoa Touch, разработчику нет необходимости писать весь код: если он захочет добавить в приложение, например, карту, то он достанет уже готовый API из фреймворка. Cocoa Touch написан на основе фреймворке Cocoa для Mac OS X и аналогично использует язык Objective-C.
ARKit — фреймворк для работы с AR (Augmented Reality), технологией, которая способна добавлять виртуальные объекты в реальную жизнь для дополнительной информации. Виртуальные элементы отображают устройства, поддерживающие AR (смартфоны и планшеты, в случае с Apple — iPhone, iPad, AR-шлемы и очки).
SpriteKit — фреймворк, а точнее движок для создания высококачественных игр. Разработчики делали его целенаправленно под платформу iOS, поэтому он работает быстро и без перебоев. SpriteKit предлагает широкий спектр функций, включая физическое моделирование, воспроизведение аудио/видео, сохранение и загрузку игр.
Xamarin — фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#. Разработчик может написать код на удобном ему языке, а затем конвертировать в тот, который ему нужен.
Основная база знаний iOS-разработчиков — это языки программирования. Для того, чтобы разработчику писать приложения на iOS, ему нужно владеть Objective-C или Swift. Сейчас мир разработчиков активно спорит о том, какой из этих языков все же лучше для разработки iOS-приложений.
Objective-C
Objective-C разработан командой Тома Лава и Брэда Кокса в компании Stepstone в 1984 году. Это компилируемый объектно-ориентированный язык программирования, созданный путем скрещивания языка C с популярным в то время языком Smalltalk.
В 1988 NeXT (впоследствии — Apple) сделала лицензию для Objective-C и написала для него компилятор и библиотеку. В 1992 к проекту присоединились ребята из GNU (проект по разработке свободного программного обеспечения) и GCC (свободно доступный оптимизирующий компилятор) стал поддерживать Objective-C. После покупки NeXT, Apple взяла их SDK (компилятор, библиотеки, IDE) за основу своих дальнейших разработок.
Особенности Objective-C:
Objective-C — надежный, проверенный временем язык, большинство iOS-программ написаны именно на нем.
Objective-C в какой-то мере является надстройкой языка программирования C. Любой код на С будет корректным и для Objective-C, и лишь иногда нужно добавить несколько конструкций.
Большое количество документации и огромное сообщество, которые всегда придут iOS-разработчику на помощь.
Objective-C труднее научиться, в сравнении с Swift, потому что это отдельный язык, синтаксис которого отличается от других языков программирования.
Swift
Swift — открытый мультипарадигмальный компилируемый язык программирования общего назначения, который был разработан и запущен Apple в 2014 году. Помимо iOS, Swift является языком программирования macOS, watchOS, tvOS, Linux и z/OS. Первоначально для нового языка использовали название Shiny.
В 2018 году Swift превзошел Objective-C по популярности и стал языком программирования № 1 для iOS и других операционных систем Apple.
Особенности Swift:
Swift никак не связан с языком С. Для взаимодействия он просто компилируется с библиотеками и фреймворками C.
Swift все еще развивается, поэтому регулярно обновляет версию. Приложения, написанные на Swift, нужно все время переписывать под новую версию.
Производительность Swift почти такая же, как и C ++, который считается одним из самым быстрых языков.
Код на Swift больше напоминает английский, что облегчает чтение и требует меньше времени для проверки кода.
Swift — компактный язык: для одной и той же функции требуется гораздо меньше строк кода, чем при работе с Objective-C.
Синтаксис и языковые конструкции Swift исключают несколько типов ошибок, которые возможны на Objective-C. Разработчик лучше защищен от ошибок при программировании.
Swift изначально создавался для платформ Apple (iOS, OS X, watchOS, tvOS), но в 2015 году стал открытым и кроссплатформенным языком. Создатели осознали, что современный язык программирования должен быть доступен каждому. Кстати, одно время ходили слухи, что Swift могут сделать Android-совместимым.
Согласно аналитическим данным нашего бота iOS-разработчик в Москве и Санкт-Петербурге может рассчитывать на заработную плату до 200 000 рублей, а в Екатеринбурге до 165 000 рублей.
Подборка Telegram-каналов по iOS-разработке:
https://t.me/ios_ru — 3050 подписчиков. Русскоязычное сообщество разработчиков, где можно поболтать на темы iOS-разработки, Swift, Objective-C, SDK, Rx, Cocoa и т. д.
https://t.me/iosgt — 1115 подписчиков. Обсуждение статей канала iOS Good Reads разработчиками iOS.
https://t.me/iosgr — 5284 подписчика. Интересные статьи, видео и новости, связанные с iOS разработкой от Егора Толстого, руководителя мобильной разработки в Avito.
https://t.me/mobile_jobs — 8000 подписчиков. Вакансии и запросы на поиск работы по iOS, Android, Xamarin и т. д.