最近、WP REST APIが気になっています。
WordPress › WP REST API (WP API) « WordPress Plugins
近い将来WordPressのコアにマージされるらしいWordPress JSON REST API を、先行してプラグインの形で提供しているものらしいです。
このプラグインを使うとWordPressのデータにアクセスして、JSON形式でデータを取得することができるらしく、WordPressのテーマをHTMLとJavaScriptだけで作ることが可能だったり、スマフォアプリや様々なプラットホームにデータを配信できたりするらしいです。
しかしながら、APIの実装をやったことがないので、勉強がてら少し調べてみました。
そもそもAPIとは?
Application Programming Interface(アプリケーション プログラミング インターフェース)の略語。
APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約のこと。
個々のソフトウェアの開発者が毎回すべての機能をゼロから開発するのは困難で無駄が多いため、多くのソフトウェアが共通して利用する機能は、OSやミドルウェアなどの形でまとめて提供されている。そのような汎用的な機能を呼び出して利用するための手続きを定めたものがAPIで、個々の開発者はAPIに従って機能を呼び出す短いプログラムを記述するだけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができる。
近年ではネットワークを通じて外部から呼び出すことができるAPIを定めたソフトウェアも増えており、遠隔地にあるコンピュータの提供する機能やデータを取り込んで利用するソフトウェアを開発することができる。
APIとは|アプリケーションプログラミングインターフェース|Application Programming Interface – 意味/解説/説明/定義 : IT用語辞典
じゃあRESTは?
RESTとは、2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。また、狭義には、それをWebに適用したソフトウェアの設計様式のこと。一般には後者の意味で用いられることがほとんどである。
一般によく使われる狭義のRESTは、パラメータを指定して特定のURLにHTTPでアクセスすると、XMLで記述されたメッセージが送られてくるようなシステムおよび呼び出しインターフェース(「RESTful API」と呼ばれる)のことを指す。システムの状態やセッションに依存せず、同じURLやパラメータの組み合わせからは常に同じ結果が返されることが期待される。ただし、厳密な技術的定義が共有されているわけではなく、「SOAPやRPCなどを必要としない、XMLベースの単純なWebインターフェース」くらいの意味で用いられる場合が多い。
RESTとは|REpresentational State Transfer – 意味/解説/説明/定義 : IT用語辞典
何を作る?
まずはajaxを使って、ページ遷移無しで投稿データをとってきて表示させたい。1ページで完結するようなウェブアプリのようなものをそれらしく作れないでしょうか。
そんな感じでWordPressのREST APIを覚えていきたいですね。ぐるなびやらはてなやらkintoneやらいろいろAPIがあるので、いろいろなAPIを使うためのいい勉強になると思います。