На самом деле начать изучать Swift можно и будучи владельцем любого ноутбука/PC и даже смартфона, способного открыть браузер.
Есть множество онлайн компиляторов, способных спокойно переварить учебные примеры уровня хеллоу ворлд и сложнее.
Онлайн сервисы типа SwiftPlayground и Replit это конечно не замена полноценным IDE, но что-то попробовать или проверить гипотезу в них вполне возможно, особенно когда под рукой нет своей машины.
Теперь разберем варианты, которые подходят для разработки проектов под iOS/macOS на Swift в Xcode:
Apple Way
Самый комфортный вариант - это что-то из iMac/MacBook/Mac mini, причем вполне подойдет самый бюджетный миник на M1. Вообще процессоры на M1 показывают впечатляющие результаты по скорости компиляции проектов на Swift.
Hackintosh
Это ряд проектов, способствующих запуску macOS на совместимом PC. Тут конечно есть свои плюсы и минусы:
- Можно использовать уже имеющийся PC/ноутбук;
- Зачастую аналогичное железо, но в корпусе от Apple, стоит дороже;
- Хак поставится далеко не на каждое железо и работает не с любой видеокартой (например RTX видеокарты до сих пор не поддерживаются и не ясно будет ли вообще такая поддержка).
Пользователи, которым удалось поставить Хак на свое железо, обычно делятся результатом на форумах типа tonymacx86.com. Там же можно поискать готовые сборки EFI раздела, с которого запускается Хак.
Такие сборки еще выкладывают на GitHub, обычно можно найти в поисковике вбив название своей материнской платы + Hackintosh. - Распаянные на плате WiFi и Bluetooth могут не работать.
Виртуализация macOS
Для довольно мощных PC можно запустить macOS прямо в Windows/Linux через виртулку. На выбор VMware (лучше использовать VMware Workstation Player) или VirtualBox.
Плавной работы даже на мощном PC тут ждать не приходится. Хотя, как начальный вариант, вполне сойдет.
Swift это не только maOS
Не стоит забывать, что разработка на Swift не ограничивается одной лишь macOS.
Конечно написать полноценное приложение для iOS на Windows/Linux не выйдет (некоторые фреймворки типа UIKit остаются закрытыми в экосистеме Apple). Но ничто не мешает написать консольную утилиту в Linux, а затем скомпилировать ее в Windows/macOS и использовать там же. Для UI так же можно взять кроссплатформенное решение - Qt.
А Xcode можно заменить на Visual Studio Code.
Выводы
- Начать изучать Swift можно вовсе без какого-либо железа, а когда придет понимание для чего конкретно хочется писать приложения на нем - определиться с выбором;
- Покупать технику Apple так же не обязательно, вполне возможно, что на текущее железо можно поставить Хакинтош или виртуалку. Если нет, то на основе успешных запусков Хакинтоша можно сделать выбор в пользу определенного железа под него;
- Писать код на Swift можно не только в Xcode - с приходом SourceKit-LSP это можно делать в любимой IDE.