iOSDC Japan 2017 カンファレンスレポート

前夜祭トーク:SiriKit and Me,Swaggerで始めるAPI定義管理とコードジェネレート

この記事を読むのに必要な時間:およそ 2 分

Swaggerで始めるAPI定義管理とコードジェネレート

前夜祭3番目のトークは,フリーランスのiOSエンジニアである杉上洋平氏@susieyyによるSwaggerで始めるAPI定義管理とコードジェネレートでした。

杉上洋平氏

画像

RESTful APIの標準化を目指すSwagger

SwaggerはMicrosoft,Google,IBMなどの企業がRESTful APIの定義記述の標準化を目指して立ち上げたOpen API Initiativeで採用されているツール群の総称です。このSwaggerについては杉上氏のスライドで詳しく説明されています。

Swaggerでの用語(発表スライド6ページ目より)

画像

API定義の明文化でコラボレーションの円滑化を

杉上氏はAPI定義を明文化する目的は「値の型やOptionalについての共通認識のすり合わせを行って手戻りを少なくすること」だと述べました。

このトークでは,Swagger Editorを使ってAPIのエンドポイントやモデルの定義を明文化させる手順を説明し,さらにコードジェネレートの必要性についても解説しました。

コードジェネレートが必要な理由として,次の3点を挙げています。

  • 通信時(疎通時)にサーバとクライアント間の実装齟齬よる課題発生を抑止
  • 開発のスピード向上
  • 人為的なミスの抑止と品質の向上

コードジェネレートには,SwiftをはじめKotlinなどの新しい言語にも積極的に対応しているswagger-codegenを使用しています。Swaggerによる定義とコードジェネレートの運用の際は,swagger.yamlのタグとPodspecのタグを一致させる方法を提案しています。

定義とコードジェネレートの運用方法(発表スライド33ページ目より)

画像

一致させることで,生成されたSwiftのコードとAPI定義がタグによってわかるようになります。このタグをリクエストヘッダに追加することでトラブルシューティングにも役立つと話していました。

開発効率化や品質向上にフォーカスするケースが増える

杉上氏は最後に,iOS/Swiftコミュニティの成熟化が始まってきており,今後は開発効率化や品質向上にフォーカスするケースが増えてくるのではと予想しています。そのようなことからも「Swagger及びコードジェネレートが一助になることを願っている」としてトークを締めくくりました。

まとめ

iOSDC Japan 2017の前夜祭から「SiriKit and Me」「Swaggerで始めるAPI定義管理とコードジェネレート」の2つのレポートをお届けしました。

前夜祭は平日の午後から行われましたが,運営側の予想を上回る300人超の参加者が来場しました。トーク終了後にはスピーカディナーも開催され大いに盛り上がりました。

スピーカディナー

画像

実践的なトーク,予想以上の来場者,スピーカーディナーの盛り上がりから,本開催に向けて期待が膨らむiOSDC Japan 2017幕開け前夜となりました。

(1日目のレポートに続きます。)

著者プロフィール

成田元輝(なりたもとき)

株式会社メルカリの子会社,株式会社ソウゾウに勤務。
iOSのソフトウェアエンジニア。iOSDC Japanは初開催の2016年からスタッフを務めている。エンジニアになる前はテレビ関係の仕事をしていたこともあり,iOSDCのオープニングムービー制作を担当。iOSDCに参加してから美味しいビールに目覚めてしまった。

GitHub, Twitter:@motokiee