Прежде чем приступить к разработке программ на языке Swift в macOS, вам потребуется несколько вещей. Для начала понадобится компьютер iMac, MacBook, Mac mini или Mac Pro с установленной операционной системой macOS. Лучше, если это будет macOS Mojave (10.14). В этом случае вы сможете использовать последнюю версию среды разработки Xcode и языка Swift.
Это первое и базовое требование связано с тем, что среда разработки приложений Xcode создана компанией Apple исключительно с ориентацией на собственную платформу.
Если вы ранее никогда не работали с Xcode, то будете поражены широтой возможностей данной среды и необычным подходом к разработке приложений. Естественно, далеко не все возможности рассмотрены в книге, поэтому я советую вам в дальнейшем самостоятельно продолжить ее изучение.
В том случае, если вы уже имеете опыт работы с Xcode, можете пропустить данную главу и перейти непосредственно к изучению языка Swift.
Следующим шагом должно стать получение учетной записи Apple ID и регистрация в центре Apple-разработчиков. Для этого необходимо пройти по ссылке https://developer.apple.com/register/ в вашем браузере (рис. 1.1).
Рис. 1.1. Страница входа в Центр разработчиков
Примечание Apple ID — это учетная запись, которая позволяет получить доступ к сервисам, предоставляемым фирмой Apple. Возможно, вы уже имеете личную учетную запись Apple ID. Она используется, например, при покупке мобильных приложений в AppStore или при работе с порталом iCloud.com.
Если у вас уже есть учетная запись Apple ID, то используйте данные своей учетной записи для входа в Центр разработчиков. В ином случае нажмите кнопку Создать Apple ID сейчас и введите требуемые для регистрации данные.
На стартовой странице Центра разработчиков необходимо перейти по ссылке Developer, расположенной в верхней части страницы, после чего откроется страница, содержащая ссылки на основные ресурсы для разработчиков (рис. 1.2).
Рис. 1.2. Перечень ресурсов, доступных в Центре разработчиков
В Центре разработчиков вы можете получить доступ к огромному количеству различной документации, видео, примеров кода — ко всему, что поможет создавать отличные приложения.
Регистрация в качестве разработчика бесплатна. Таким образом, каждый может начать разрабатывать приложения, не заплатив за это ни копейки (если не учитывать стоимость компьютера). Тем не менее за 99 долларов в год вы можете участвовать в платной программе iOS-разработчиков (iOS Developer Program), которую вам предлагает Apple. Это не обязательно, но если вы хотите распространять свои приложения, то есть использовать мобильный магазин приложений App Store, то участие в программе становится обязательным.
Лично я советую вам пока не задумываться об этом, так как все навыки iOS-разработки можно получить с помощью бесплатной учетной записи и Xcode.
Теперь все, что вам необходимо, — скачать Xcode. Для этого перейдите в раздел Xcode и нажмите кнопку Download в правом верхнем углу страницы. Перед вами откроется страница, содержащая доступные для скачивания версии данной среды разработки (рис. 1.3).
Рис. 1.3. Страница Xcode в Центре разработчиков
После щелчка по ссылке Download произойдет автоматический переход в магазин приложений Mac App Store на страницу Xcode. Здесь вы можете увидеть краткое изложение всех основных возможностей среды разработки, обзор последнего обновления и отзывы пользователей. Для скачивания Xcode просто щелкните на кнопке Загрузить и при необходимости введите данные своей учетной записи Apple ID.
После завершения процесса установки вы сможете найти Xcode в Launchpad или в папке Программы в Доке.
Изучение программирования на языке Swift мы начнем со знакомства со средой разработки Xcode.
ПРИМЕЧАНИЕ Интегрированная среда разработки (Integrated Development Environment, IDE) — набор программных средств, используемый программистами для разработки программного обеспечения (ПО).
Среда разработки обычно включает в себя:
• текстовый редактор;
• компилятор и/или интерпретатор;
• средства автоматизации сборки;
• отладчик.
Xcode — это IDE, то есть среда создания приложений для iOS и macOS. Xcode — это наиболее важный инструмент, который использует разработчик. Среда Xcode удивительна! Она предоставляет широкие возможности, и изучать их следует постепенно, исходя из поставленных и возникающих задач. Внешний вид рабочей среды приведен на рис. 1.4.
Именно с использованием этого интерфейса разрабатываются любые приложения для «яблочных» продуктов. При изучении Swift вы будете взаимодействовать с иной рабочей областью — рабочим интерфейсом playground-проектов. О нем мы поговорим чуть позже.
Xcode распространяется на бесплатной основе. Это полифункциональное приложение без каких-либо ограничений в своей работе. В Xcode интегрированы: пакет iOS SDK, редактор кода, редактор интерфейса, отладчик и многое другое. Также в него встроены симуляторы iPhone, iPad, Apple Watch и Apple TV. Это значит, что все создаваемые приложения вы сможете тестировать прямо в Xcode (без необходимости загрузки программ на реальные устройства). Более подробное изучение состава и возможностей данной IDE отложим до момента изучения процесса разработки приложений. Сейчас все это не столь важно.
Я надеюсь, что вы уже имеете на своем компьютере последнюю версию Xcode, а значит, мы можем перейти к первому знакомству с этой
Рис. 1.4. Интерфейс Xcode
замечательной средой. Для начала необходимо запустить Xcode. При первом запуске, возможно, вам придется установить некоторые дополнительные пакеты (все пройдет в автоматическом режиме при щелчке на кнопке install в появившемся окне).
После скачивания и полной установки Xcode вы можете приступить к ее использованию. Чуть позже вы создадите свой первый проект, а сейчас просто взгляните на появившееся при запуске Xcode стартовое окно (рис. 1.5).
Стартовое окно служит для двух целей: создания новых проектов и организации доступа к созданным ранее. В данном окне можно выделить две области. Нижняя левая область представляет собой меню, состоящее из следующих пунктов:
• Get started with a playground — создание нового playground-проекта. О том, что это такое, мы поговорим чуть позже.
• Create a new Xcode project — создание нового приложения для iOS или OS X.
• Clone an existing project — подключение внешнего репозитория для поиска размещенных в нем проектов.
Рис. 1.5. Стартовое окно Xcode
Правая часть окна содержит список созданных ранее проектов. В вашем случае, если вы запускаете Xcode впервые, данный список будет пустым. Но не переживайте, в скором времени он наполнится множеством различных проектов.
ПРИМЕЧАНИЕ В названиях всех создаваемых в ходе чтения книги проектов я советую указывать номера глав и/или листингов. В будущем это позволит навести порядок в списке проектов и оградит вас от лишней головной боли.
Одной из потрясающих возможностей Xcode является наличие playground-проектов. Playground-проект — это интерактивная среда разработки, своеобразная «песочница» или «игровая площадка», где вы можете комфортно тестировать создаваемый вами код и видеть результат его исполнения в режиме реального времени. С момента своего появления playground активно развивается. С каждой новой версией Xcode в него добавляются все новые и новые возможности.
Представьте, что вам нужно быстро проверить небольшую программу. Для этой цели нет ничего лучше, чем playground-проект! Пример приведен на рис. 1.6.
Как вы можете видеть, внешний вид интерфейса playground-проекта значительно отличается от рабочей области Xcode, которую вы видели ранее в книге. Повторю, что playground-проект позволяет писать код и незамедлительно видеть результат его исполнения, хотя и не служит для создания полноценных самостоятельных программ. Каждый playground-проект хранится в системе в виде особого файла с расши-
Рис. 1.6. Пример playground-проекта
рением playground. Хочу отметить, что при разработке полноценных приложений вы можете использовать playground-проекты в качестве их составных частей и использовать реализованные в них механизмы.
Нет способа лучше для изучения языка программирования, чем написание кода. Playground-проект предназначен именно для этого. Выберите вариант Get started with a playground в стартовом окне для создания нового playground-проекта. Далее Xcode предложит вам выбрать один из типов создаваемого проекта (рис. 1.7), которые отличаются между собой лишь предустановленным в проекте кодом.
ПРИМЕЧАНИЕ Обратите внимание, что в верхней части окна есть возможность выбора платформы (iOS, tvOS, macOS). В книге будет описываться разработка под iOS и использоваться только первая вкладка, но если вы из числа любителей изучать что-то новое, то советую со временем заглянуть в каждую из вкладок и типов проектов. Это будет очень полезно.
Сейчас вам необходимо выбрать тип Blank, который содержит минимальное количество кода. После нажатия кнопки Next среда разработки попросит вас ввести имя создаваемого playground-проекта. Измените имя на «Part 1 Basics», выберите платформу iOS и щелкните на кнопке Create. После этого откроется рабочий интерфейс playground-проекта (рис. 1.8).
С первого взгляда окно playground-проекта очень похоже на обыкновенный текстовый редактор. Но это только с первого взгляда. Xcode Playground имеет куда более широкие возможности.
Рис. 1.7. Окно выбора типа создаваемого проекта
Рис. 1.8. Рабочий интерфейс playground-проекта
Как показано на рис. 1.8, рабочее окно состоит из 5 основных частей:
• В левой части экрана расположен редактор кода, в котором вы можете писать и редактировать свой swift-код. В только что созданном нами файле имеется один комментарий и две строки кода.
• Как только код будет написан, Xcode моментально обработает его, отобразит ошибки и выведет результат в правой части экрана в области результатов (рис. 1.8а).
Рис. 1.8а. Отображение значения в области результатов
ПРИМЕЧАНИЕ Если Playground не отображает результаты, то для принудительного запуска обработки кода вы можете использовать либо кнопку слева от строчки кода, либо кнопку, расположенную в нижней части окна (рис. 1.8б). Бывают случаи, что playground зависает во время обработки кода или не запускает ее в автоматическом режиме.
Вы можете видеть, что результат параметра str отображается в области результатов. В дальнейшем мы вместе будем писать код и обсуждать результаты его выполнения. Помните, что основная цель — повышение вашего уровня владения Swift.
Если навести указатель мыши на строку "Hello, playground" в области результатов, то рядом появятся две кнопки, как показано на рис. 1.9.
Левая кнопка (изображение глаза) позволяет отобразить результат в отдельном всплывающем окне, правая — прямо в области кода. Попробуйте щелкнуть на каждой из них и посмотрите на результат.
Рис. 1.8б. Кнопки запуска обработки кода
Рис. 1.9. Дополнительные кнопки в области результатов
Playground — это потрясающая платформа для разработки кода и написания обучающих материалов. Она просто создана для того, чтобы тестировать появляющиеся мысли и находить решения возникающих в процессе разработки проблем. Playground-проекты обладают рядом возможностей, благодаря которым процесс разработки можно значительно улучшить.
Начиная с версии 6.3, в Xcode появилась поддержка markdown-синтаксиса для комментариев. На рис. 1.10 приведен пример изменения внешнего вида комментариев после выбора в меню пункта Editor Show Rendered Markup. В верхней части изображен исходный код комментария, а в нижней — отформатированный.
В скором времени вы увидите, что в качестве результатов могут выводиться не только текстовые, но и графические данные (рис. 1.11).
Строки формата N times в области результатов, где N — целое число, говорят о том, что данная строка кода выводится N раз. Пример такой строки вы можете видеть на рис. 1.11. Подобные выводы результатов
Рис. 1.10. Форматированный комментарий
Рис. 1.11. Пример вывода результирующей информации
можно отобразить в виде графиков и таблиц. Со всеми возможными вариантами отображения результатов исполнения swift-кода вы познакомитесь в ходе работы с playground-проектами в Xcode.
Также Xcode имеет в своем арсенале такой полезный механизм, как автодополнение (в Xcode известное как автокомплит). Для примера в рабочей части только что созданного playground-проекта на новой строке напишите латинский символ «а» — вы увидите, что всплывет окно автодополнения (рис. 1.12).
Все, что вам нужно, — выбрать требуемый вариант и нажать клавишу ввода, и он появится в редакторе кода. Список в окне автодополнения меняется в зависимости от введенных вами символов. Также все создаваемые элементы (переменные, константы, типы, экземпляры и т.д.) автоматически добавляются в список автодополнения.
Рис. 1.12. Окно автодополнения в Xcode
Одной из возможностей Хcode, которая значительно упрощает работу, является указание на ошибки в программном коде. Для каждой ошибки выводится подробная вспомогательная информация, позволяющая внести ясность и исправить недочет. Ошибка показывается с помощью красного значка в форме кружка слева от строки, где она обнаружена. При щелчке на этом значке появляется описание ошибки (рис. 1.13).
Дополнительно информация об ошибке выводится на консоли в области отладки (Debug Area). Вывести ее на экран можно, выбрав в меню пункт View Debug Area Show Debug Area или щелкнув на кнопке с направленной вниз стрелкой в левом нижнем углу области кода. Вы будете регулярно взаимодействовать с консолью в процессе разработки программ.
Рис. 1.13. Отображение ошибки в окне playground-проекта
Возможно, что при открытии области отладки консоль будет пуста. Данные в ней появятся после появления в вашем коде первой ошибки или первого вывода информации по требованию.
Swift позволяет также получать исчерпывающую информацию об используемых в коде объектах. Если нажать клавишу Alt и щелкнуть на любом объекте в области кода (например, на str), то появится вспомогательное окно, позволяющее узнать тип объекта, а также имя файла, в котором он расположен (рис. 1.14).
Рис. 1.14. Всплывающее окно с информацией об объекте
Среда Xcode вместе с playground-проектами дарит вам поистине фантастические возможности для реализации своих идей!