Установка и использование языка Swift на Ubuntu 16.04


Некоторое время язык Swift был доступен только для операционной системы OS X, в составе среды разработки Xcode, но недавно на официальном сайте стали доступны сборки и для последних версий Ubuntu. Практической пользы от такого шага не очень много: большинство библиотек так и не были портированы, и разрабатывать для iOS на альтернативных платформах всё еще невозможно. Хотя существует призрачная возможность писать серверный код на том же языке, что и код приложения, но пока инструментарий развит слабо, использование языка от Apple на Ubuntu будет представлять скорее академический интерес. С другой стороны, доступного функционала хватит, чтобы изучить основы языка и писать несложные консольные утилиты, не приобретая дорогостоящие устройства, что может оказаться для многих плюсом.

Установка

Для удобства все действия будем производить в терминале. В стандартной версии Ubuntu его можно открыть сочетанием клавиш ctrl + alt + t.

Cкачаем последнюю стабильную версию Swift с официального сайта:

wget https://swift.org/builds/swift-3.1.1-release/ubuntu1604/swift-3.1.1-RELEASE/swift-3.1.1-RELEASE-ubuntu16.04.tar.gz

Распакуем скачанный архив:

tar xvf swift-3.1.1-RELEASE-ubuntu16.04.tar.gz

Поместим содержимое архива в директорию /opt:

mv swift-3.1.1-RELEASE-ubuntu16.04 /opt/swift

Добавим директорию с исполняемыми файлами в переменную окружения PATH:

echo 'export PATH=/opt/swift/usr/bin:$PATH' >>~/.profile

Выполним команду source, чтобы обновить переменную PATH для текущей сессии:

source ~/.profile

Для работы Swift потребуется clang, установим эту зависимость:

sudo apt-get update
sudo apt-get install clang

На этом установка закончена, теперь можно проверить текщую версию языка командой:

swift --version

В ответ команда должна вернуть текущую версию языка и платформу.

REPL

Запустить интерактивную консоль Swift (REPL — Read Eval Print Loop) можно одноименной командой: swift. В ней можно начать изучение синтаксиса языка, подробнее о её возможностях можно прочитать на сайте Apple. Выйти из REPL можно командой :exit.

Hello world

Напишем и скомпилируем простейший пример, который будет выводить надпись «Hello, Swift». Создайте файл hello.swift, и введите следующий код:

print("Hello, Swift")

Сохраним файл и скомпилируем его командой:

swiftc hello.swift

Теперь выполним его:

./hello

В ответ ожидаемо получим строку «Hello, Swift».

Swift build

Создайте директорию с названием проекта, например Hello. Перейдите в неё и выполните:

swift package init --type executable

Эта команда сгенерирует базовую структуру проекта. Код, который должен выполняться находится в Sources/main.swift, по-умолчанию там написано print("Hello, world!").

Соберем проект командой:

swift build

Результат компиляции будет находиться по следующему пути: .build/debug/Hello (относительно корня проекта). Запустив его, получим тот же результат, что и в предыдущем примере.