LoginSignup
4
2

More than 3 years have passed since last update.

ServerSideSwiftでHello Worldをしてみる

Last updated at Posted at 2019-05-01

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だけでオンラインじゃんけんゲームとか作れると面白いと思うので今度頑張って作ってみたいですね!

参考記事

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2