Начало работы со Swift на Linux

Автор: | 01.08.2026

Когда я написал свою первую строку кода на Swift, у меня сразу же появились видения того, что я смогу использовать этот прекрасный язык программирования для чего-то большего, чем просто приложения для iOS и OSX. Вчера Apple официально сделала Swift открытым исходным кодом, и мои мечты сбылись. Этот блог-пост поможет вам быстро начать писать свое первое приложение, используя открытую версию Swift на Linux.

**Давайте начнем!**

Текущая реализация Swift на Linux работает только на Ubuntu 14.04 или Ubuntu 15.10. Для нашего приложения я буду использовать Ubuntu 14.04.3. Если у вас нет сервера Ubuntu, вы всегда можете создать его на вашем хостинг-провайдере (Ищете один? Посмотрите на DigitalOcean или Linode). Страница Swift на GitHub показывает, как построить Swift вручную, но вы можете захотеть начать писать код без необходимости бороться с Linux. К счастью, Apple предоставляет снимки, которые вы можете скачать и запустить быстро.

Скачайте URL снимка Ubuntu 14.04, а затем загрузите его на свой сервер, используя `wget`:

Это может занять несколько минут. Пока вы ждете, это хорошее время, чтобы посмотреть, как Stephen Malkmus и The Jicks исполняют кавер на песню Taylor Swift «Blank Space».

Как только у вас есть снимок, распакуйте его:

Чтобы использовать Swift из командной строки, вам нужно обновить путь. Убедитесь, что вы обновили эту команду, чтобы она ссылалась на путь, куда вы скачали снимок Swift:

Если вы используете свежий сервер Ubuntu, как я, вам может не хватать нескольких пакетов, необходимых для правильной работы Swift. Чтобы убедиться, что у вас все в порядке, вы можете запустить следующую команду:

Как только это завершится, установите все необходимые зависимости с помощью этой команды:

Еще больше ожидания. Может быть, время для импровизированной танцевальной вечеринки?

Проверьте, что все работает правильно, запустив `swift —version`.

Вы должны увидеть номер версии, похожий на этот: `Swift version 2.2-dev`.

**Давайте напишем код**

Готовы ли вы написать код? Я точно готов! Мы начнем с запуска REPL Swift с помощью команды `swift`. Как только REPL запущен, вы можете начать писать код на Swift. Вот некоторые примеры, которые можно попробовать:

Когда вы будете готовы выйти из REPL, просто наберите `:q`.

Вау. Интересно, где они взяли эту идею?

Пришло время написать наше первое приложение. Сначала мы создадим новую папку для нашего приложения. Внутри этой папки мы создадим еще одну папку под названием `sources`, где мы напишем код для наших приложений:

Внутри папки `sources` создайте файл под названием `main.swift`. Имя этого файла важно, поскольку, назвав его `main.swift`, наше приложение будет автоматически собираться в исполняемый файл, когда мы запустим `swift build`:

Вы когда-нибудь хотели сыграть в «Камень, Ножницы, Бумага, Ящерица, Спок» но никто не был рядом? Мы только что построили приложение Swift, которое позволит вам играть против компьютера, когда угодно!

Вы можете сыграть свою первую игру с помощью следующей команды:

Одна вещь, которую я очень рад видеть в открытой версии Swift, — это менеджер пакетов Swift, поскольку он делает супер легко упаковывать и делиться кодом, как нашей игрой, с другими. Мы не будем использовать некоторые продвинутые функции менеджера пакетов в этом посте, но нам нужно создать файл `Package.swift`, чтобы мы могли собрать наше приложение. Менеджер пакетов Swift чувствителен к регистру, поэтому убедитесь, что у вас есть заглавная буква. Мы можем оставить это довольно простым для现在:

Теперь, когда у нас все готово, мы можем собрать наше приложение, запустив нашу команду сборки:

Команда сборки создаст исполняемый файл, который мы можем запустить из командной строки:

**Что вы построите?**

Вы построили свое первое приложение «Hello, Swift!», используя открытую версию Swift на Linux. Ищете вдохновения? Я нашел тур Apple по Swift очень полезным, когда я начал изучать язык. На Swift.org также есть много хорошего контента.

Есть многое, что еще предстоит добавить в версию Linux Swift, но я с нетерпением жду, чтобы увидеть, как она будет расти. Может быть, вы даже захотите внести свой вклад в проект, чтобы мы все могли извлечь пользу из того, что вы узнали.

Я бы хотел увидеть, что вы построите теперь, когда у вас есть настроенная среда!