Server Side Swiftを試してみたいけど、環境づくりが面倒だなぁと思って敬遠していたのですが、Cloud9を使えば簡単に動かせることが分かりました。

VaporはMac環境にも対応しているので(Xcodeでコーディングもできます!)、Ubuntu+OSS版Swiftが必須というわけではないのですが、後々HomebrewでDBをインストールしたりする環境構築は避けたいと思いました。

とりあえずCloud9で試してみて、もっと「本格的に」となったら、目的に応じた環境構築(Docker等の仮想環境でつくる、Ubuntuの動いているサーバを用意する)をしていったら良いのではないかと思います。

Cloud9をご存知ない方は下記リンクをご参照ください。

プログラミングの開発環境に便利!Cloud9の使い方【Rails・WordPressテンプレートの解説あり】

簡単に開発環境が構築できる!cloud9 使い方を徹底解説

Cloud9のうれしい点

  • ローカル環境を汚さない
    後々ゴミが残ったり、ストレージを消費しないので、お試しにピッタリ
  • DBが用意済み
    Cloud9はPostgreSQLがインストール済み
  • 環境がコピーできる
    セットアップした状態を残しておいて、失敗したらすぐに消してやり直しできる
  • 一応無料
    サンプルコードを動かすだけならPublicで構わないので、無料で使える

セットアップ手順

Cloud9のアカウントは取得済みとします

Swift3のインストール

Signin後、Dashboardからworkspaceを作成します。
[Create a new workspace] をクリックします。

01_workspace0.png

Workspaceに名前をつけます。
ex. swift3

01_workspace1.png

Blank を選択し、[Create workspace] をクリックします。

01_workspace2.png

少し待ちます。Containerがセットアップされているようですね。

01_workspace3.png


Workspaceが作成できました。

02_blank1.png

Ubuntu14.04です。

02_blank2.png

パスは /home/ubuntu/workspace/ となっていました。

02_blank3.png

この環境にSwift3をインストールします。

git clone https://github.com/keygx/swift3-ubuntu14-installer.git 

これはSwiftセットアップ用のスクリプトで、Ubuntu14.04にSwift3.0.2をインストールできます。

03_install1.png

ディレクトリを移動して、

cd swift3-ubuntu14-installer 

スクリプトを実行します。

./install_swift.sh

途中質問された場合は、適宜回答ください。
これはインストールにかかるディスク容量について訊かれているので Y で

03_install2.png

しばらく待つとインストールが終わります。

03_install3.png

いわれたとおり

source ~/.profile

します。

03_install4.png

swift -v

Swift3.0.2がインストールできました。

03_install5.png

Swift3環境を残しておきたいので、一端Dashboardに戻ります。
右上にあるCloud9のロゴをクリックします。

04dashboard1.png


Vaporのインストール

Dashboardで先ほどセットアップしたSwift3環境のWorkspace「swift3」を [Clone] します。

04dashboard2.png

Workspaceに別の名前をつけます。
ex. swift3-vapor

04dashboard3.png


新たに別のWorkspaceとして、Swift3セットアップ済み環境が起動します。

05vapor1.png

ここにVaporをインストールします。

curl -sL swift.vapor.sh/ubuntu | bash

05vapor2.png

さらに Toolboxをインストールします。

curl -sL toolbox.vapor.sh | bash

05vapor3.png

インストールが完了したら、この環境残しておくために、Dashboardに戻ります。


Vaporでアプリを作成

vaporインストール済み環境をクローンしてアプリをつくっていきます。

06dashboard1.png

Workspaceに別の名前をつけます。
ex. swift3-vapor-hello

06dashboard2.png


新規にアプリを作成します。

vapor new hello

07hello2.png

生成されたアプリのディレクトリに移動し、buildします。

cd hello
vapor build 

07hello3.png

buildはけっこう時間がかかりますので、気長に待ちましょうw

07hello4.png

buildが完了したら、サーバを起動します。

vapor run serve

07hello5.png

各Workspaceは下記のようなURLがふられているようで、
https://[workplace]-[username].c9users.io/

このサンプルだと
https://swift3-vapor-hello-keygx.c9users.io/ にてアクセスできます。

07hello6.png

以上で、SwiftのセットアップからVaporのインストール、アプリの起動までができました。

私はこの後、公式の ドキュメント を写経してみたり、こちらの SCREENCAST の内容を参考にして勉強しています。

補足

Cloud9のDB

DBを使いたくなった際は、下記のページが参考になりました。Cloud9はPostgreSQLがすぐに使えるようになっています。

Cloud9でのPostgreSQL
https://community.c9.io/t/setting-up-postgresql/1573

Workspaceの使い方

この記事の通りに進め場合、Workspaceは

  • swift3 (Swift3)
  • swift3-vapor (Swift3 + Vapor)
  • swift3-vapor-hello (Swift3 + Vapor + helloアプリ)

の3つとなります。

Vaporの勉強をすすめていく際は、お題ごとに swift3-vapor を [Clone] していくのが良いかなと思います。また、Vapor以外のFrameworkを試したくなったら、swift3 を [Clone] して… とすれば、別の環境もつくることができます。