見出し画像

【第1章】「WebAPI The Good Parts」を読んで"良いAPIとは何か"を学ぶ

どうも、たかふみです。

より良いAPI設計・開発をするため、オライリー本「Web API The Good Parts」を読んでいるので、覚えておきたい内容をメモとして本記事にまとめておきたいと思います。


本書の目的

APIを開発するに当たり「どのように設計すれば良いのか」「どのような点に気をつければ良いのか」を知ること

1章 WebAPIとは何か

■本書の定義
HTTPプロトコルを利用してネットワーク越しに呼び出すAPI
■本書の対象とする形式
URIへのアクセスでXMLやJSONを返すAPI

1. APIの重要性

APIの公開により、他開発者による”サービスを活用したサービス開発”ができる。

・機能をAPIで提供することによる「ユーザーの増加」
・サービス間の連携を容易にすることによる「他サービスとの共存共栄」

2. パターン

■APIを開発するケース
1. 既存サービス、データの公開
2. ウィジェットの公開
3. モダンなWebアプリ
4. スマホアプリ
5. ソシャゲ
6. 社内システム連携

3. 公開対象

出来ることの全てをAPIでできるようにする。
対象は”サービスのコアの価値の部分”
(=価値を生み出している部分)


WebページをAPIに変換するサービス
・import.io
・kimonolabs.com(閉鎖)

コメント
本書は「とにかくAPIとして公開せよ!」感が強い。APIを公開すると運用保守のコストがかかるため「なぜAPIを公開するか」の目的はしっかり決めるべきだと感じた。

4. 設計の重要性

1.使いやすい
2.変更しやすい
3.頑強である(セキュリティに強い)
4.恥ずかしくない(エンジニアはコードを見る)

コメント
この部分はAPIに限った話ではない。設計の基本。

5. そのためには

▪️重要な原則
1.仕様が決まっているものは、仕様に従う
2.決まっていないものは、標準に従う

コメント
多くの人によって作り上げられてきた仕様や標準(デファクトスタンダード)に”まずは”従う。改良はそれから。

6. REST

本書では「REST」という言葉は使わない。言葉の意味と実際が乖離していることが多々あるため、ややこしくならないようにするために本書では使わない。

7. 異なる設計思想

■LSUDs(large set of unknouwn developers)
未知の多くの開発者。パブリックなAPI
■SSKDs(small set of knouwn developers)
既知の少数の開発者。クローズドなAPI

コメント
1,2,で重要なポイントは異なる。後々も出てくる考え方なので覚えておく。

1章の感想

書かれていることは基本的なことであり、APIに限った話ではないと感じました。開発全般で重要なポイントが詰まっていると思うので、改めて思い出しながら読み進めていきたいと思います。

2章へつづく…

読んでくださりありがとうございます。 これからもnoteで発信していくのでよろしくお願いします!