Разработка мобильных приложений развивается. Растет не только число мобильных телефонов, но и всяких умных "штук": плееры, планшеты, часы, трекеры и т. д. И кто знает, что еще могут придумать.
Поговорим об#nbsp;одном из#nbsp;самых популярных направлений в#nbsp;мобильной разработке.
iOS#nbsp;— операционная система для#nbsp;смартфонов, планшетов, плееров, в#nbsp;общем всех переносимых устройств, которые выпускаются компанией Apple (о#nbsp;ней, думаю, не#nbsp;слышал только ленивый) с#nbsp;2007 года. Приложения, написанные на#nbsp;iOS, подходят только для#nbsp;устройств от#nbsp;Apple. Компания трепетно следит за#nbsp;актуальностью операционной системы, поэтому раз в#nbsp;год стабильно выпускает обновление. В#nbsp;сентябре 2019 года вышла версия iOS 13.
Для#nbsp;создания программы iOS-разработчику необходимо установить среду разработки (IDE#nbsp;— Integrated Development Environment) Xcode. Ее#nbsp;можно бесплатно скачать в#nbsp;AppStore. Редактор включает инструменты для#nbsp;разработки приложений под Mac, iPhone, iPad, Apple TV, Apple Watch. Интерфейс, как и#nbsp;во#nbsp;многих продуктах Apple, простой: удобная верстка, настройка шрифтов, стилей и#nbsp;т.#nbsp;д. Кстати, для#nbsp;того, чтобы писать приложения для#nbsp;iOS, у#nbsp;разработчика обязательно должен быть Mac, способный поддерживать последние версии#nbsp;ПО.
Также полезно знать основные фреймворки, которые iOS-разработчики используют при работе:
Cocoa Touch#nbsp;— фреймворк для#nbsp;создания приложений для#nbsp;iPhone, iPod touch и#nbsp;iPad. Используя Cocoa Touch, разработчику нет необходимости писать весь код: если он#nbsp;захочет добавить в#nbsp;приложение, например, карту, то#nbsp;он#nbsp;достанет уже готовый API из#nbsp;фреймворка. Cocoa Touch написан на#nbsp;основе фреймворке Cocoa для#nbsp;Mac#nbsp;OS X#nbsp;и#nbsp;аналогично использует язык Objective-C.
ARKit#nbsp;— фреймворк для#nbsp;работы с#nbsp;AR (Augmented Reality), технологией, которая способна добавлять виртуальные объекты в#nbsp;реальную жизнь для#nbsp;дополнительной информации. Виртуальные элементы отображают устройства, поддерживающие#nbsp;AR (смартфоны и#nbsp;планшеты, в#nbsp;случае с#nbsp;Apple#nbsp;— iPhone, iPad, AR-шлемы и#nbsp;очки).
SpriteKit#nbsp;— фреймворк, а#nbsp;точнее движок для#nbsp;создания высококачественных игр. Разработчики делали его целенаправленно под платформу iOS, поэтому он#nbsp;работает быстро и#nbsp;без перебоев. SpriteKit предлагает широкий спектр функций, включая физическое моделирование, воспроизведение аудио/видео, сохранение и#nbsp;загрузку игр.
Xamarin#nbsp;— фреймворк для#nbsp;кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с#nbsp;использованием языка C#. Разработчик может написать код на#nbsp;удобном ему языке, а#nbsp;затем конвертировать в#nbsp;тот, который ему нужен.
Основная база знаний iOS-разработчиков#nbsp;— это языки программирования. Для#nbsp;того, чтобы разработчику писать приложения на#nbsp;iOS, ему нужно владеть Objective-C или Swift. Сейчас мир разработчиков активно спорит о#nbsp;том, какой из#nbsp;этих языков все#nbsp;же лучше для#nbsp;разработки 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#nbsp;— открытый мультипарадигмальный компилируемый язык программирования общего назначения, который был разработан и#nbsp;запущен Apple в#nbsp;2014 году. Помимо iOS, Swift является языком программирования macOS, watchOS, tvOS, Linux и z/OS. Первоначально для#nbsp;нового языка использовали название Shiny.
В#nbsp;2018 году Swift превзошел Objective-C по#nbsp;популярности и#nbsp;стал языком программирования № 1 для#nbsp;iOS и#nbsp;других операционных систем Apple.
Особенности Swift:
Swift никак не#nbsp;связан с#nbsp;языком С. Для#nbsp;взаимодействия он#nbsp;просто компилируется с#nbsp;библиотеками и#nbsp;фреймворками C.
Swift все еще развивается, поэтому регулярно обновляет версию. Приложения, написанные на#nbsp;Swift, нужно все время переписывать под новую версию.
Производительность Swift почти такая#nbsp;же, как и C ++, который считается одним из#nbsp;самым быстрых языков.
Код на#nbsp;Swift больше напоминает английский, что облегчает чтение и#nbsp;требует меньше времени для#nbsp;проверки кода.
Swift#nbsp;— компактный язык: для#nbsp;одной и#nbsp;той#nbsp;же функции требуется гораздо меньше строк кода, чем при работе с#nbsp;Objective-C.
Синтаксис и#nbsp;языковые конструкции Swift исключают несколько типов ошибок, которые возможны на#nbsp;Objective-C. Разработчик лучше защищен от#nbsp;ошибок при программировании.
Swift изначально создавался для#nbsp;платформ Apple (iOS, OS X, watchOS, tvOS), но#nbsp;в#nbsp;2015 году стал открытым и#nbsp;кроссплатформенным языком. Создатели осознали, что современный язык программирования должен быть доступен каждому. Кстати, одно время ходили слухи, что 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 и т. д.