前書き
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]をご覧ください。