前書き

SwiftはAppleのプログラミング言語です。 速く、安全で、現代的で、言語を支持する巨大なコミュニティがあります。 Swiftは主にiOSおよびmacOSアプリケーションの開発に使用されますが、Swift 3では、サーバー側のアプリケーション開発にも使用できます。

Vaporは、人気のあるサーバー側のSwift Webフレームワークです。 Swiftと同様に、Vaporは高速で最新であり、他のプログラミング言語のWebフレームワークで見られる多くの機能をサポートしています。

このガイドでは、SwiftとVaporをUbuntu 16.04にインストールします。 次に、Vaporのテンプレートの1つを使用して簡単なWebアプリケーションを作成して、セットアップをテストします。

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • `+ sudo +`にアクセスできる非rootユーザーを持つUbuntu 16.04サーバー。 これの設定方法については、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04 [初期サーバー設定ガイド]をご覧ください。

  • サーバーにインストールされたGit。 GitはすでにUbuntu 16.04にインストールされているはずですが、インストールされていない場合は、「+ sudo apt-get install git +」を実行します。

ステップ1-Swiftのインストール

Vapor Webアプリケーションを構築して実行できるようにするには、最初にSwiftをインストールする必要があります。

まず、システムにパッケージの最新リストがあることを確認します。

sudo apt-get update

次に、 `+ clang +`といくつかのPython 2.7コンポーネントを含むSwiftの前提条件をインストールします。

sudo apt-get install clang libicu-dev libpython2.7

その後、最新のSwiftバイナリをダウンロードします。 これは `+ apt `からは利用できませんが、https://swift.org/download/ [Swiftダウンロードページ]から手動で、または ` wget +`でダウンロードできます。

wget https://swift.org/builds/swift-4.0-release/ubuntu1604/swift-

次に、ダウンロードが破損または改ざんされていないことを確認します。 SwiftのPGPキーをキーリングにインポートします。これは、署名ファイルの検証に使用されます。

gpg --keyserver hkp://pool.sks-keyservers.net \
     --recv-keys \
     '7463 A81A 4B2E EA1B 551F  FBCF D441 C977 412B 37AD' \
     '1BE1 E29A 084C B305 F397  D62A 9F59 7F4D 21A5 6D5F' \
     'A3BA FD35 56A5 9079 C068  94BD 63BC 1CFE 91D3 06C6' \
     '5E4D F843 FB06 5D7F 7E24  FBA2 EF54 30F0 71E1 B235'

次の出力が表示されます。

Output[...
gpg: key 412B37AD: public key "Swift Automatic Signing Key #1 <[email protected]>" imported
gpg: key 21A56D5F: public key "Swift 2.2 Release Signing Key <[email protected]>" imported
gpg: key 91D306C6: public key "Swift 3.x Release Signing Key <[email protected]>" imported
gpg: key 71E1B235: public key "Swift 4.x Release Signing Key <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 4
gpg:               imported: 4  (RSA: 4)

キーをインポートしたら、ダウンロードしたリリースの署名ファイルをダウンロードします。

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

この署名ファイルを確認するには、次のコマンドを実行して、次の出力を生成します。

gpg --verify swift-4.0-RELEASE-ubuntu16.04.tar.gz.sig

次の出力が表示されます。

Outputgpg: assuming signed data in `swift-4.0-RELEASE-ubuntu16.04.tar.gz'
gpg: Signature made Wed 20 Sep 2017 01:13:38 AM UTC using RSA key ID 71E1B235
gpg: Good signature from "Swift 4.x Release Signing Key <[email protected]>"
Primary key fingerprint: 5E4D F843 FB06 5D7F 7E24  FBA2 EF54 30F0 71E1 B235

次のような警告が表示される場合があります。

Outputgpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

つまり、インポートしたSwiftキーは、明示的に、またはキーリングにインストールした他のキーによって明示的に信頼されていないことを意味します。 これらのメッセージは無視しても問題ありません。 ただし、別のエラーが発生した場合は、Swiftバイナリを再ダウンロードする必要があります。

これで、実際にSwiftをインストールできます。 次のコマンドを実行して、以前にダウンロードしたバイナリを抽出します。

tar xzf swift-4.0-RELEASE-ubuntu16.04.tar.gz

次に、Swiftツールチェーンをパスに追加して、システム全体で `+ swift +`コマンドを実行できるようにします。

export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"

このコマンドを入力すると、現在のシェルセッションのパスに `+ swift `コマンドのみが追加されます。 今後のセッションで自動的に追加されるようにするには、それを ` .bashrc +`ファイルに追加します。

`+ .bashrc`ファイルを開きます:

nano ~/.bashrc

ファイルの最後に次の行を追加します

〜/ .bashrc

. . .
export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"

ファイルを保存して終了します。

すべてが機能することを確認するには、 `+ swift +`コマンドを実行します:

swift

すべてが正しく機能していることを示すSwift REPLが表示されます。

OutputWelcome to Swift version 4.0 (swift-4.0-RELEASE). Type :help for assistance.
 1>

すべてが正しく機能していることを再確認しましょう。 1から5までのすべての整数を合計するこのプログラムを入力します。 REPLに各行を入力し、各行の後に `+ ENTER +`キーを押します。

var x = 0
for i in 1...5 {
   x += i
}
x

REPLは計算の結果を表示します:

Output$R0: Int = 15

`+ CTRL + D +`でSwift REPLを終了します。 Swiftがインストールされたので、Vaporをインストールする準備ができました。

ステップ2-蒸気のインストール

Vaporをインストールするには、Vapor開発者からスクリプトをダウンロードして実行し、Vaporの公式パッケージリポジトリをサーバーのパッケージリストに追加します。 次に、「+ apt +」を使用してVaporの最新バージョンをインストールします。

一般に、他の人からダウンロードしたスクリプトを最初に検査せずに実行することは、セキュリティ上の良い習慣ではありません。 まず、ローカルファイル名を指定するために `+ -o `スイッチを指定した ` curl +`コマンドを使用して、インストールスクリプトをサーバーにダウンロードします。

curl -sL apt.vapor.sh -o

このスクリプトを検査するには、 `+ less +`コマンドを使用します。

less

インストールスクリプトの内容を確認したら、スクリプトを実行してリポジトリを追加します。

bash ./

sudoパスワードの入力を求められます。 スクリプトが新しいパッケージソースを追加できるように入力します。

スクリプトが終了したら、 `+ vapor +`パッケージとその依存関係をインストールできます。

sudo apt-get install vapor

Vapor開発者が提供する別のスクリプトを使用して、Vaporが正常にインストールされたことを確認できます。 もう一度、スクリプトをダウンロードして検査し、実行します。

curl -sL check.vapor.sh -o check.vapor.sh
less check.vapor.sh
bash ./check.vapor.sh

Vaporが正常にインストールされたことを示す次の出力が表示されます。

Output✅ Compatible with Vapor 2

SwiftとVaporの両方がインストールされたので、最初のVaporアプリを作成できます。

ステップ3-蒸気アプリを作成する

アプリを作成するには、Vaporがデフォルトで提供するテンプレートを使用します。 `+ web +`テンプレートを使用すると、ユーザー向けのWebアプリケーションを作成できます。

このテンプレートからWebアプリを作成するには、次のコマンドを実行します。

vapor new  --template=

スクリプトは、指定した名前で新しいディレクトリに新しいアプリケーションを生成します。

OutputCloning Template [Done]
Updating Package Name [Done]
Initializing git repository [Done]
...
              _       __    ___   ___   ___
             \ \  /  / /\  | |_) / / \ | |_)
              \_\/  /_/--\ |_|   \_\_/ |_| \
                a web framework for Swift

             Project "demo" has been created.
      Type `cd demo` to enter the project directory.
  Use `vapor cloud deploy` to host your project for free!
                          Enjoy!

完全なWebアプリの代わりにAPIを作成したい場合は、 `+ vapor new –template = `で ` api +`テンプレートを使用できます。

Webテンプレートのソースコードとhttp://github.com/vapor/api-template[apiテンプレート]を見て、どのように機能するかを確認してください。

アプリを実行して、動作を確認しましょう。

ステップ4-蒸気アプリケーションのコンパイルと実行

PythonやRubyのアプリケーションとは異なり、Swiftアプリケーションはコンパイルする必要があります。 つまり、Vaporアプリを実行する前に、ビルドプロセスを実行する必要があります。

最初に、新しく作成した `+ demo +`フォルダに切り替えます:

cd demo

次に、 `+ vapor build +`コマンドを実行してWebアプリケーションをコンパイルします。

vapor build

アプリケーションを初めてビルドするとき、プロセスはいくつかの依存関係を取得します。 これらをキャッシュし、将来このステップをスキップして、ビルドプロセスをより高速にします。

ビルドプロセスが完了したら、次のコマンドでアプリを実行します。

vapor run serve

サーバーが起動し、次の出力が表示されます。

OutputRunning demo ...
...
Starting server on 0.0.0.0:8080

安全でないハッシュキーと暗号キーに関する警告が表示されますが、デモを試す間は無視できます。 独自のアプリを作成するときは、警告が提供する指示に従ってください。

ウェブブラウザを開き、「+ http://:8080+」にアクセスして、動作中のVaporアプリのウェルカムページを確認します。

結論

Swiftコミュニティは着実に成長しており、参加する方法はたくさんあります。 Swiftは主にネイティブiOSおよびmacOSアプリの構築に使用されますが、LinuxプラットフォームでのSwiftは増加しています。 Swiftの詳細については、https://itunes.apple.com/us/book/the-swift-programming-language-swift-4/id881256329?mt = 11 [The Swift Programming Language]から無料でダウンロードできます。林檎。 Vaporの詳細については、https://docs.vapor.codes/2.0/ [documentation]をご覧ください。