Статьи

Swift для парня из Java: Часть 1. Начало работы

Прошло много времени с тех пор, как мне пришлось взглянуть на экосистему разработки Apple.

Фактически, последний раз, когда я делал что-то серьезное, был в 2009 году, когда я пытался в то время испытывать бум приложений.

Честно говоря, у меня не было много проблем с Objective-C как языком как таковым. На самом деле, если бы я что-то предпочел, я бы выбрал код на C или C ++.

Я думаю, что мое главное возражение — если бы оно было у меня — заключалось в том, что среда Xcode нигде не близка к уровню чего-то вроде IntelliJ. Кроме того, SDK в то время были довольно ограничены по сравнению с тем, что вы имели в полнофункциональной версии OSX.

Разумеется; Я потратил много времени на написание гораздо большего количества стандартного кода, чем мне бы хотелось.

Когда вышел Свифт (почти два года назад, вы можете в это поверить), я кратко посмотрел на язык, который мне показался довольно хорошим, но он меня мало интересовал. Основная причина этого заключается в том, что мой мир был — по большей части — серверной Java, работающей на платформе типа * nix.

Перенесемся на два года вперед, и внезапно Swift становится OSS, и такие компании, как IBM, стараются сделать функцию Swift в моем мире.

Хорошо, но что он может сделать, чего не может Java?

Ну вот несколько вещей для рассмотрения:

  • Docker меняет ландшафт с точки зрения того, как мы разворачиваем программное обеспечение. Во многих отношениях Docker — это новый сервер приложений и новая виртуальная машина.
  • Вместе с Docker у нас появился микросервис и необходимость создавать очень маленькие развертываемые блоки кода.
  • Swift — это родной язык, он работает быстро и требует очень мало времени с точки зрения памяти и времени запуска.
  • Свифт — также совершенно современный и чистый язык.
  • Сочетание этих вещей потенциально делает Swift отличной платформой для создания Dockerised Microservices, возможно, лучше, чем язык, который исторически обходился дорого с его виртуальными машинами и зависимыми библиотеками.

Установка

Если вы используете OSX, самый простой способ запустить это — просто получить последнюю версию Xcode из App Store. Если вы используете Ubuntu (14.04 или 15.04), я предлагаю вам использовать отличную утилиту swiftenv для установки и управления версиями Swift.

Вы также можете установить swiftenv для OSX через Homebrew. Это полезно, если вы хотите легко поиграть со сборками разработки Swift 3.0. Система, которую я использую для этого поста, работает под управлением Ubuntu 14.04, и я использую версию 2016-05-09-a, которая является снимком разработки Swift 3.0 .

Сначала я установил swiftenv следующим образом:

1
2
3
4
git clone https://github.com/kylef/swiftenv.git ~/.swiftenv
echo 'export SWIFTENV_ROOT="$HOME/.swiftenv"' >> ~/.bashrc
echo 'export PATH="$SWIFTENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(swiftenv init -)"' >> ~/.bashrc

Тогда я могу пойти дальше и установить пакет разработки Swift.

1
swiftenv install DEVELOPMENT-SNAPSHOT-2016-05-09-

Это оно! Swift теперь установлен. Вы можете проверить установку, запустив Swift REPL

Создаю свой первый бит Swift.

Моя первая проблема, с которой я столкнулся в Linux, — это полное отсутствие достойной IDE для среды Linux. В этом примере я использовал старый добрый Vim.

Однако я — несколько иронично — играю с кодом Visual Studio, который также, кажется, делает достойную работу. Для этого примера я сделаю обязательный «Hello world»

Я просто создаю файл «HelloWorld.swift» и помещаю в него следующий код.

1
print("Hello world")

Вот и все. Swift будет в основном запускать любой код, который объявлен как inline alla Ruby, Python, Groovy и др.

Теперь вы можете запустить это следующим образом:

1
swift HelloWorld.swift

в какой момент вы видите вывод:

1
hello world

Подождите, разве я не сказал, что это скомпилировано !? Еще одна изящная особенность Swift — вы можете запускать код как в интерпретируемом, так и в скомпилированном режиме.

Чтобы скомпилировать код, вы просто запускаете:

1
swiftc HelloWorld.swift

Это выдает исполняемый файл «HelloWorld», который вы можете просто выполнить как:

1
./HelloWorld

Некоторые заметки

Swiftc не работал в первый раз на моей машине. Оказывается, что Swift опирается на версию 3.6 Clang на Ubuntu 14.04, я исправил это, выполнив следующее:

1
2
3
apt-get install clang-3.6
update-alternatives /usr/bin/clang clang /usr/bin/clang-3.6 100
update-alternatives /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 100
Ссылка: Swift для парня из Java: Часть 1. Начало работы от нашего партнера по JCG Джулиана Эксенбергера в блоге Dot Neverland .