はじめに
今回は、APIについて学び、変更に強いサービスにt類手の学習をアウトプットしていこうと思います!
APIについて
APIとは??
APIとは、Application Programming Interfaceの略語で、お主にアプリケーション同士がデータをやり取りする場合に使用する一定のルール、仕組みのことです!
しかし、APIとはかなり抽象的な言葉であるため、以下のような2つの意味でも使われます!
- このようなリクエストが来たら、このようなデータを返すという使用全体を表す意味
- 呼び出されたら実行されるメソッドそのものを表す意味
この2つの意味で考えられることがあります!
よく使われるAPI
WebAPI
WebAPIは、HTTP/HTTPS通信を使用して利用するAPIのことです!
例としては、Google Mapの地図のWebサービスが別のWebサービスに組み込まれている状態が挙げられます!
オープンAPI(公開API)
外部に公開されているAPIのことをオープンAPI(公開API)と言います!
利用する側からは、公開APIを利用するという文脈で、「外部APIを利用する」ということもあります!
内部API
内部APIとは、自社や個人が開発したアプリケーションの内部で取り扱うAPIのことです!
APIに適したRuby on Railsのアプリケーション
一般的にAPIをリヨしたアプリケーションを作成した場合、HTMLやJavaScriptなどはWeb APIを担うアプリケーション内部には作成しません!
APIはレスポンスで描画するHTMLを返却するだけでなく、常にデータを返却することだけを責務とします!
rails newのapiオプション
Ruby on Railsでは、API作成に特化した状態(常にデータを返却する仕様)に特化した状態のアプリケーションを作成できます!
方法は、rails newコマンドに–apiというオプションをつけるだけです!
これだけです!!!
これにより、ビューファイルが自動で作成されないようになり、APIとして作っていくにあたって最適なじょうたいでアプリケーションの作成をスタートできます!
サバーサイドとフロントエンドの分離
APIで自動にビューファイルを作成しないことについてはわかりましたが、ビューファイルがないとユーザーが閲覧しやすい画面を届けることはできないです!
なので、APIとは別に、フロントエンド専用のアプリケーションを作成する必要があります!
これには、サーバーサイドとフロントエンドサイドを分離し、役割を分ける必要があります!
分離するメリット
これのメリットとしてはチームなどを分けやすいということがあります!
サーバーサイドとフロントエンドでは扱う言語に違いがありますので、これを分けることによって大規模なプロジェクトでも効率的に作業ができます!
ネイティブアプリケーションの展開
ネイティブアプリケーション
ネイティブアプリケーションとは、スマートフォンやタブレットを使用してApp StoreやGoogle Play Storeでダウンロードできるアプリのことです!
開発では以下のような言語を使います!
- iOSではObjective-C, Swift
- androidではJava, Kotlin
クロスプラットフォーム(マルチプラットフォーム)
クロスプラットフォームとは、iOSやandroidのどちらにも互換性のある開発フレームワークのことです!
これに沿って開発を行えば、どちらでも動作するアプリケーションを作成できます!
このフレームワークにはFlutterや React Nativeなどが該当します!
これにAPIを使うメリット
これのメリットとしては、WebアプリケーションとiOSのネイティブアプリケーションとandroidのネイティブアプリケーションの合計3つを作成するとします。
この場合、サーバーサイドのAPIアプリケーションは1つで済みます!
それぞれのアプリケーションに適切なデータを返却し、それに対する処理をフロントエンドで行えば実装できます!
これにより、作業工数を小さくできます!
コメント