はじめに
この記事は、株式会社スピードリンクジャパン Advent Calendar 2023 の13日目の記事です。
対象の読者
- 若手エンジニア
- 未経験エンジニア
- これから開発を始める方
- APIについて理解を深めたいと思っている方
APIとは
以下の記事で、APIとは何かについてまとめています。
短い記事になりますので、よかったら見ていってください。
APIの種類
先にご紹介させていただいたように、異なるソフトウェア同士が連携するにはAPIが重要になってきます。
その中でもAPIには、用途によって幾つかの種類が存在します。
今回は、以下3つのAPIについてご紹介します。
ランタイムAPI
ランタイムAPIとは
ランタイムAPIとは、名前の通りプログラムの実行時に使用されるAPIで、動的な操作が可能になるAPIです。
わかりやすく言うと、プログラムの実行時間だったり、メモリの使用量を実行時に取得することができるといったところですね。
メリット
上記でも説明した通り、プログラムの実行中に動的な操作が可能になるため、アプリケーション自身の状態をリアルタイムでモニタリングが可能になるのがメリットのひとつとなります。
これによって、問題発生時に早期に適切なアクションを行うことができるため、運用レベルアップにつながります。
WebAPI
WebAPIとは
WebAPIとは、Webサービスやアプリケーションが、HTTPプロトコルを通じてWeb上でAPIのやり取りが可能になるAPIです。
代表的なもので言うと、RESTful APIなんかは1度は聞いたことがあるのではないでしょうか?
これも2つのコンピュータシステムをインターネットを介して情報のやり取りを行なっているため、WebAPIの1つと言えます。
SMSを使った認証サービスなんかにも使われているらしく、意外と身近にみなさんも触れています。
メリット
プログラミング言語の依存関係に関わらず、誰でも簡単に異なるサービスやアプリケーション間でデータを簡単に共有できます。
基本的に、JSONやXMLなどの軽量なデータ形式を使用するため、データの効率的な転送を可能としていて、1度の通信量の削減の効果も期待できます。
開発を行っている人なら、外部のライブラリを自身のプログラムに取り込んで使用することもあるのではないでしょうか?
ライブラリの提供形式にもよりますが、あれもWebAPIを介して取り込んでいます。
従って、比較的短いコードで効率的に開発をすることが可能になることもメリットですね。
OSのAPI
OSのAPIとは
OSのAPIとは、アプリケーションがOSの情報を取得・操作することが可能になります。
ファイル操作やメモリ管理などがこれに含まれ、アプリケーションからそれらの操作が可能になります。
メリット
OSのAPIを使用することで、アプリケーションはファイルシステムにアクセスできます。
同時に、それらのリソースに適切にアクセスすることから、不正アクセスや悪意のあるファイル操作を制限することが可能になり、セキュリティの向上にもつながります。
最後に
どうでしたか?
自分は未経験から入社した身なので、これを理解することは簡単ではありませんでしたが、
開発をしていく上であたりまえのように書いていたコードが、裏ではこんなAPIによって成り立っていたのかなんてことが見えてきました。
正直、現代では知らなくても動かせるものではありますが、今回紹介したそれぞれのメリットだけではなく、デメリットも存在していることを忘れてはいけません。
この機に調べてみるといいかもしれませんね。(僕も含め)