Skip to content

APIモード専用

Elixirを使用してAPIを開発する際には、Phoenixフレームワークが非常に便利です。Phoenixは、Elixirの強力な並行処理機能を活用して、高性能なWebアプリケーションを構築するためのフレームワークです。

Elixirを使用してAPIを開発する際には、Phoenixフレームワークが非常に便利です。Phoenixは、Elixirの強力な並行処理機能を活用して、高性能なWebアプリケーションを構築するためのフレームワークです。

まず、Phoenixをインストールするために、以下のコマンドを実行します。

Terminal window
mix archive.install hex phx_new

このコマンドにより、Phoenixプロジェクトを新規作成するためのテンプレートがインストールされます。

Phoenixプロジェクトを作成するには、以下のコマンドを実行します。

Terminal window
mix phx.new my_api --no-html --no-webpack

--no-html--no-webpackオプションを指定することで、API専用のプロジェクトを作成できます。これにより、フロントエンドの機能を含まない、バックエンド専用のAPIを構築することができます。

プロジェクトディレクトリに移動し、サーバーを起動します。

Terminal window
cd my_api
mix phx.server

これで、APIサーバーが起動し、http://localhost:4000でアクセス可能になります。Phoenixを使用することで、スケーラブルで高性能なAPIを迅速に開発することができます。

Elixirの並行処理機能を活用することで、スケーラブルで高性能なアプリケーションを構築できます。以下に、GenServerを使用した並行処理の例を示します。

defmodule Counter do
use GenServer
# クライアントAPI
def start_link(initial_value) do
GenServer.start_link(__MODULE__, initial_value, name: __MODULE__)
end
def increment do
GenServer.call(__MODULE__, :increment)
end
# サーバーコールバック
def init(initial_value) do
{:ok, initial_value}
end
def handle_call(:increment, _from, state) do
{:reply, state + 1, state + 1}
end
end
# 使用例
{:ok, _pid} = Counter.start_link(0)
IO.puts(Counter.increment()) # 1
IO.puts(Counter.increment()) # 2
  • GenServer: 並行処理を管理するためのビルトインモジュールです。

この例では、GenServerを使用してカウンターを管理します。並行処理を簡単に実装でき、スケーラブルなアプリケーションを構築するのに役立ちます。