Некоторое время язык 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
(относительно корня проекта). Запустив его, получим тот же результат, что и в предыдущем примере.