10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

All About Group(株式会社オールアバウト)Advent Calendar 2017

Day 6

KituraでサーバーサイドSwift

Last updated at Posted at 2017-12-05

おはようございます、Sankameと申します。
業務では主にPHPを使ってますが、SwiftでもWebページを作れるようになったと知って、自宅でやってみました。
練習してたのが半年ほど前なので、内容が古いかもしれない点はご了承下さい。

お題

DBを使わないライトな課題ということで、年号の表示とカレンダーを作ってみました。

ソースコードはこちら。
Java畑が長かったので、Swiftならこんな書き方できるよ、などのプルリク頂ければ幸いです。

フレームワーク選定

サーバーサイドSwiftのフレームワーク兼HTTPServerは色々あります。
各フレームワークの性能比較をしたブログなどを見て、perfectの評価が高かったので試してみましたが、確か"Get Started"でつまずき断念しました。

次に、Kituraを検討しました。
KituraはQiitaなどで導入事例が多く、また、サンプルのdockerイメージを落としてきたらサクッと動いたので、それをベースに進めることにしました。
Swift自体のサポートOSもLinuxはUbuntuだけなので、その点でもdocker上で開発した方が楽かもしれません。
僕は開発環境がMac、本番環境がCentOSだったので、そうしました。

感想

API仕様書やKitura関連の記事が結構あるため、あまり実装で困ることはないです。

ただ、Kituraがサポートしている、stencilというテンプレートエンジンは機能が少なく、なるべくサーバーサイドでデータを加工して渡すなどの工夫が必要でした。
ソースコード内で月ごとのテンプレートをそれぞれ用意しているのも、確か、stencilの制約からだったと思います。

先日、サーバーサイドKotlinも発表されたので、個人的にはSwift推しでいくかは少し様子見の状態ですね。

その他

Swiftの実行結果を手軽に確認するのに、下記ツールを重宝しました。
コードの共有もできるので便利です。
同種のツールの中では一番使いやすく、Swiftに対するIBM社の本気度を感じます。(KituraもIBM社です)
IBM Swift Sandbox

10
1
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
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?