Основы Swift / 1.2. Что потребуется для работы




macOS
Если у Вас установлена операционная система macOS, то Вы можете использовать самый простой способ. Самым простым инструментом для разработки является использование приложения Xcode, созданного Apple. Для его установки перейдите по ссылке Xcode и загрузите программу.

Теперь Вам предстоит выбрать способ написания кода:
1. Playground или игровая площадка.
2. Консольное приложение.

На данном этапе они почти что идентичны по функционалу, однако playground будет предпочтительнее.
  • Чтобы выбрать запуск playground, нажмите на Get started with playground.
  • Для создания приложения нажмите на Create new Xcode project.
Playground
Игровая площадка представляет собой REPL-систему или обработчик кода в реальном времени: то, что Вы вводите в playground, начнёт выполняться немедленно при вводе. Не пугайтесь, что Вы будете получать много ошибок на быстрых устройствах - просто код будет обрабатываться быстрее, чем Вы его пишите.
На рисунке ниже:
1. Отмечено название площадки. Вы можете заполнить его как угодно.
2. Выберите платформу для площадци - tvOS, macOS, iOS. Советуем Вам выбрать iOS для того, чтобы иметь возможность использовать одни и те же площадки как на стационарном устройстве, так и на iPad.
Использование Playground
Взглянем внимательно на рисунок ниже, где представлено окно игровой площадки:





















  1. Основное окно для ввода кода. Заметьте, что написанный код выделен цветом. Это называется подсветкой синтаксиса. Со временем Вы оценит пользу от выделения различных фрагментов кода.
  2. Область консоли - сюда будет выводится текст ошибок и сообщения.
  3. Нажмите эту кнопку, если она выглядит как синий треугольник, для запуска выполнения площадки. В противном случае нажаите остановит выполнение.
  4. Слева от главного экрана Вы можете увидеть номера строк. По строкам кода проще ориентироваться в Вашей программе.
  5. Нажаите на эту кнопку даст Вам доступ к просмотру файлов проекта.
  6. Нажатие этой кнопки включит меню отслеживания за содержимым переменной
  7. На данной панели видно содерижмое объектов и другая информация в реальном времени
Использование Playground 2
Взглянем внимательно на рисунок ниже, где представлено окно игровой площадки:





















  1. На прошлом рисунке мы открыли окно со структурой проекта. Вот оно.
  2. Нажмите на эту кнопку и коснитесь появившейся надписи. Вы просто чудесны. Только что Вы создали новую страницу игровой площадки. Если Вы захотите её переименовать Выделите её и нажмите Enter.
  3. В предыдущем упражнении мы нажали на значок отслеживания объекта. Такое окно появилось около него.
  4. Если навести на содерижмое объекта в правой панели, то появится значок глаза для быстрого просмотра его содержимого.
Проект
Совсем недавно мы сделали выбор между игровой площадкой и приложением. Так что же делать с приложением? Когда Вы нажмёте по соответствующей кнопке, то появится следующее окно:











По-умолчанию там будет выбрано command line tool под платформу macOS, что полностью подходит под базовые уроки. Нажмите по кнопке next и Вы увидите:

















  1. Укажите в этом поле название своего приложения.
  2. Выберите команду разработки. Данное поле будет что-то содержать, только если Вы добавили какую-либо команду в настройках Xcode.
  3. Укажите имя Вашей организации (по-желанию).
  4. Укажите идентификатор Вашей организации (по-желанию). Из ранее указанных значений будет собрано идентификатор бандла [контейнера] с приложением.
  5. Выберите язык разработки - на выбор доступны Swift, Objective-C, C++, C. Нас интересует в данный момент Swift.
Теперь нажмите далее. Результирующее окно почти такое же, как и в случае с игровой площадкой. Отсутствует панель просмотра в реальном времени. Заметьте - приложения данного вида собираются не сразу при вводе кода, а после явного указания на это. Для ускорения процесса, Вы можете использовать сочетание клавиш CMD + R
Что выбрать - площадку или проект?
Самое основное преимущество площадки - мнговенное выполнение кода. Однако из-за этого в процессе набора кода площадка потребляет гораздо больше ресурсов и при нагрузке на Вашу систему возможны ошибки в обработке кода в плане отключения статического анализа.
Тем не менее, площадки редко применяются для создания полнофункциональных приложений. Несмотря на это на данный момент мы рекомендуем Вам использовать именно её - для обучения ввиду скорости подходит именно она. Кроме того, в площадках можно тестировать некоторые участки кода, не внося их в основной код.
Swift Playgrounds на iPad
На iPad под управлением iOS 10 и старше доступны собственные игровые площадки. Эта возможность позволяет Вам в режиме реального времени писать код на мобильном устройстве. Помимо возможностей обучения Вы получите шанс программировать некоторые участки кода, не имея доступа к стационарному устройству.
Кроме того данная программа содержит набор уроков по освоению программирования.
Для установки приложения найдите его в AppStore на самом устройстве или пройдите по ссылке Swift Playgrounds

















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

















Снизу Вы увидите четыре вкладки:
  1. Learn To Code - офицальная серия уроков по обучению программированию через приключения Байта.
  2. Challanges - испытания, которые являются дополнениями к приключению Байта, но без Байта.
  3. Accessories - для программирования внешних устройств. Например, роботов.
  4. Starting Points - вкладка, интересующая нас, которая содержит базовые шаблоны.
Swift Playgrounds на iPad - 2


















Нас будет интересовать здесь чистая площадка. Потому нам нужно нажать на Get под площадкой с именем Blank.

















Так же, как и в версии для macOS, Вы можете добавлять в площадку новые страницы. Нижняя панель содержит набор подсказок для быстрого ввода,

















С помощью значка плюсика сверху справа Вы можете добавить шаблоны языковых конструкций, медиа-объекты и файлы.
Swift Playgrounds на iPad - 3


















Значок же троеточия даёт доступ к контекстному меню со справкой, снятием скриншота, созданием pdf, записью видео и возможностью трансляции происходящего (для этого требуются внешние сервисы наподобие Twitch).

















Над нижней панелью справа находится управление выполнением кода: выбор режима (обычный, сквозь код, замедленный сквозь код) и запуск/остановка выполнения.

















Справа, как и в полной версии, находится кнопка у каждого объекта, через которую Вы можете просмотреть его содержимое или добавить обозреватель.
Если нет macOS или iPad
Не расстраивайтесь. Swift можно изучить ещё несолькими способами. Один из них - игровые площадки онлайн. Самый их основной минус - отклик у них немговенный:
  • IBM: содержит Swift версии 4.0.2
  • iSwift: содержит версию 3.1.1 без поддержки Foundation и переключение на 4.0.
  • repl.it: содержит версию 3.0.1.
Другим способом является использование Swift в Linux, однако настройка оболочки отобъёт у Вас всякое желание жить. Кроме того фреймворк Cocoa и Cocoa Touch недоступны на этой платформе.
Не самый легальный способ для тех, у кого нет Apple
Существуют два менее легальных способа (так как нарушают условия лицензионного соглашения macOS):
1. Установить macOS на обычный компьютер, что называют иногда хакинтошем.
2. Установить macOS как виртуальную машину.

Установка macOS в качестве виртуальной машины (все ссылки представлены в ознакомительных целях):
1. Установите VMWare workstation
2. Скачайте и добавьте образ виртуальной машины macOS High Sierra 10.13.1
3. Настройте систему под Вашу конфигурацию - самое основное, выдайте ей больше видеопамяти


Учтите, что в виртуальном macOS не будет работать openGL, потому Вы не сможете использовать многие игры и приложения, однако его будет вполне достаточно для разработки приложений под Swift.