XCode — среда для разработки программного обеспечения под операционные системы Apple. С ее помощью можно писать и проверять код, запускать программы, описывать графические интерфейсы и их связь с кодом.

XCode — IDE: эта аббревиатура означает Integrated development environment, что переводится как «интегрированная (или единая) среда разработки». Так называют инструменты, в которых есть все необходимое как для написания кода, так и сборки готового проекта.

Среда предназначена для операционной системы macOS. Проекты, которые создаются с ее помощью, также можно запускать на iOS, tvOS и watchOS. XCode поддерживает языки программирования Swift, Objective-C, C, C++, а также AppleScript, Python, Ruby и Java. Сторонние разработчики также реализовали поддержку других языков, в том числе старых: Haskell, Pascal, Ada и других.

XCode бесплатно доступен для пользователей macOS в Mac App Store. Актуальная версия на март 2022 года — 13.2.1.

Кто пользуется XCode
iOS-разработчики, а также создатели приложений для «умных» часов и телевизоров от Apple: они управляются системами watchOS и tvOS соответственно.
macOS-разработчики, создающие новое ПО для этой ОС или переносящие на нее уже существующие программы на Swift, AppleScript и Objective-C.
Разработчики на Python, Ruby, Java и других языках, создающие кроссплатформенные или веб-приложения.

Применение XCode
Быстрое и удобное написание кода с помощью специального текстового редактора с подсветкой и проверкой синтаксиса, подсчетом строк и другими функциями.
Создание и организация крупных проектов, которые могут включать в себя много файлов и папок. Среда помогает структурировать работу.
Компиляция или интерпретация кода, то есть его преобразование в понятный машине формат.
Выполнение кода. С помощью IDE можно запускать программу и отслеживать результаты ее работы.
Отладка и тестирование — работа по поиску и устранению ошибок в коде.
Создание графических интерфейсов и их связь с кодом.
Автоматизация сборки готового проекта.
Упрощение архитектурных и конструкторских задач: их помогают решать вспомогательные инструменты, которые наглядно показывают структуру кода или проекта.
Из чего состоит среда XCode
Инструменты, которые есть в этой IDE, подобраны так, чтобы разработчику было легко пройти полный цикл создания приложения, в первую очередь под платформы Apple.

Редактор кода. Он похож на текстовый редактор, но отличается более широкой функциональностью. Редактор кода распознает синтаксис языка, подсвечивает его конструкции для большей читаемости. Он может сигнализировать об ошибках в синтаксисе или давать краткую справку о той или иной команде. Он подсчитывает строки, имеет гибкие возможности для навигации по коду и выполняет множество других функций.

В редакторе программист пишет код, а потом сохраняет его в виде файла в нужном формате. XCode позволяет его открывать и редактировать.

Редактор графических интерфейсов. В XCode по умолчанию входит приложение Interface Builder — редактор интерфейсов. С его помощью можно быстро создавать GUI для своих программ. Редактор содержит наборы — палитры стандартных элементов интерфейса: их можно создавать, настраивать и редактировать.

Созданный интерфейс можно связать с кодом и таким образом получить полностью функциональное приложение.

Поддержка языков программирования. Программирование в XCode во многом адаптировано под Swift и Objective-C — языки, которые активнее всего используются в экосистеме Apple. Также для комфортного использования IDE поддерживаются другие языки программирования.

Компиляторы. Компилятор — это программа, которая переводит написанную программу в машинные коды для ее запуска. Также существуют интерпретаторы — они, в отличие от компиляторов, исполняют код построчно, а не преобразуют его полностью.

В IDE должны быть компиляторы для языков, которые она поддерживает: без них программу нельзя запустить и протестировать в среде. XCode пользуется преобразованным GCC, или GNU Compiler Collection: это свободная коллекция компиляторов для популярных языков программирования.

Отладчики. Отладчик — составная часть любой масштабной IDE, программа для поиска и отладки ошибок. С его помощью можно:

трассировать код, то есть выполнять его построчно;
ставить метки или точки останова в определенных местах программы;
следить за состоянием сущностей в разные моменты;
настраивать логику для трассировки, остановки и других действий.
Так программисту легче отследить, в какой момент времени в коде происходит ошибка и с чем она связана. Он сможет быстрее понять, как ее исправить.

В XCode используется отладчик на основе GDB, или GNU Debugger — свободного программного обеспечения для отладки.

API. API помогает связать между собой разные сервисы и программные продукты. В IDE должны быть API для разных направлений разработки. В случае с XCode это в первую очередь API, которые нужны для программирования под Apple: Cocoa, Carbon и другие. Например, с их помощью разработчик связывает между собой интерфейс и код.

Фреймворки и библиотеки. Это дополнительные средства разработки, которые помогают расширить язык и добавляют новые возможности: функциональные и архитектурные.

В XCode входят фреймворки для создания серверного, десктопного и мобильного ПО, программ для интернета вещей и «умных» устройств, нейронных сетей и многого другого.

Документация. В XCode по умолчанию входит большая часть документации Apple, которая посвящена среде разработки и ее инструментам. При изучении с нуля с документацией придется сверяться часто, но она должна быть под рукой не только у новичка.

Контроль версий. Системы контроля версий позволяют нескольким программистам работать одновременно и вносить в код разные изменения, а потом объединять их. С системами можно откатываться к предыдущим состояниям или иметь сразу несколько «веток» разработки. Наиболее популярная — Git. XCode поддерживает Git «из коробки»: создавать «точки сохранения», откатываться к ним или сливать версии можно прямо из интерфейса IDE.

Симулятор. С помощью XCode можно «симулировать» запуск программы на мобильном устройстве Apple. Это помогает понять, как приложение будет работать на реальном телефоне или планшете, и качественнее его протестировать.

Swift Playgrounds. Так называется среда для обучения языку Swift и разработки на нем. Имеет характерный интерфейс, поддержку фреймворка для графических интерфейсов SwiftUI и возможность мгновенного отображения результата кода. В Swift Playgrounds входят интерактивные уроки для быстрого обучения концепциям языка, также среда подходит для экспериментов и небольших проектов.

Особенности XCode 12 и 13
В 2020 году была выпущена XCode 12, в 2021-м — 13. В этих последних у среды немного изменился интерфейс и появились новые возможности:

подробная аналитика всего, что происходит при запуске программы, вплоть до расхода емкости аккумулятора;
более удобная работа с элементами графического интерфейса;
улучшенные автозавершение команд, контроль версий, тестирование и эмуляция мобильных устройств;
тестирование покупок в приложениях-магазинах;
режим vim, популярного текстового редактора для Linux;
возможность создавать собственную документацию, в том числе с помощью языков для ее описания, и многое другое.
О различиях можно прочитать на странице IDE в официальном магазине Apple. Разные версии IDE поддерживаются в различных версиях самой macOS.

XCode в других ОС
Официально XCode разработана только для операционных систем от Apple. Чтобы запустить среду на Linux или Windows, потребуется виртуальная машина с macOS. Неофициальными сборками IDE для других ОС, которые можно найти в сети, мы не рекомендуем пользоваться.

Также существуют онлайн-сервисы, которые предоставляют «виртуальную среду» macOS со всеми ее возможностями. С ними пользователи Linux и Windows смогут работать в XCode.

Apple разрабатывает облачную версию среды — Xcode Cloud. На момент написания статьи проект находится в стадии закрытого бета-тестирования. Это значит, что для участия в тестировании разработчик должен написать в Apple, где решат, открывать ли ему доступ к продукту.

Как начать пользоваться XCode
Пользователь macOS может перейти в официальный магазин Apple и скачать оттуда XCode. Для этого не обязателен платный аккаунт разработчика: он потребуется для публикации приложений в магазине. XCode распространяется бесплатно.

После установки среды можно начать новый проект. IDE выглядит как своеобразный браузер файлов со вкладками, дополнительными панелями и инструментами. Разобраться в ней можно с помощью справки.

Чтобы работать в любой IDE, нужно знать один из языков, которые она поддерживает. Для программирования под macOS или iOS необходимо знать особенности этих систем.

Получить актуальную теорию и практику под контролем ментора можно на курсе SkillFactory. 