Edited at

ServerSideSwiftでHello Worldをしてみる


Hello World

こんにちは、fummicc1です。今回は、Swiftでサーバーサイドを実装してみようということで記事にしました。


Kitura

KituraとはSwiftでサーバーサイドを実装するためのフレームワークです。他にもPerfectやVaporなどがあります。


Setup


環境


  • Xcode 10.2

  • Swift 5


Kitura導入

まずは、今回のためのディレクトリを作成しましょう。

mkdir KituraHelloWorld

cd KituraHelloWorld

次に、kituraをインストールして、プロジェクトの初期化を行います。(インターネットからダウンロードをするので時間がかかります。)

brew tap ibm-swift/kitura

brew install kitura
kitura init

これで、初期設定ができました。次に、xcodeでプロジェクトを開いていきます。

open KituraHelloWorld.xcodeproj/

上のコマンドでXcodeを立ち上げてくれます。

開いたら、Cmd + 1でファイルツリーを開き、Routesフォルダに新しく、HelloWorldRoutes.swiftを作成します。

作成したHelloWorldRoutes.swiftに以下の記述をします。

func initializeHelloWorldRoutes(app: App) {

app.router.get("/helloWorld") { (request, response, next) in
response.send("Hello World!")
}
}

ここでは、GETリクエストに対しての処理を記述しています。ルーティングも指定していて、第一引数で指定できます。今回は、/helloWorldです。

次に、このinitializeHelloWorldRoutesApplication.swiftのAppクラスで呼んであげます。


App.swift

public class App {

let router = Router()
let cloudEnv = CloudEnv()

public init() throws {
// Run the metrics initializer
initializeMetrics(router: router)
}

func postInit() throws {
// Endpoints
initializeHealthRoutes(app: self)
initializeHelloWorldRoutes(app: self) // ここを追加!
}

public func run() throws {
try postInit()
Kitura.addHTTPServer(onPort: cloudEnv.port, with: router)
Kitura.run()
}
}


これで、完成です。あとは、Cmd + R でXcodeがローカルホストを立ち上げてくれます。URLはこちらです。

スクリーンショット 2019-05-01 22.17.24.png

無事できました。Swiftだけでオンラインじゃんけんゲームとか作れると面白いと思うので今度頑張って作ってみたいですね!


参考記事