不死鳥(Phoenix)と闘魂で挑む！世界平和を目指すアプリ開発

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/2552b044-ee68-202b-18a2-8805f1eea04a.png)


# はじめに  

ElixirでのWebアプリケーション開発を支える強力なフレームワーク、[Phoenix](https://www.phoenixframework.org/)。その軽快なパフォーマンスと柔軟性は、まさに不死鳥の名にふさわしい存在です。本記事では、Phoenixフレームワークを使って、世界平和を祈念するアプリケーションを作成する流れをご紹介します。アントニオ猪木さんが夢見た「本当の世界平和[^1]」の実現を技術の力で支援し、一歩ずつ進めていきましょう。

[^1]: [本当の世界平和](https://qiita.com/torifukukaiou/items/aa0b0da419b62a4793cf#%E6%9C%AC%E5%BD%93%E3%81%AE%E4%B8%96%E7%95%8C%E5%B9%B3%E5%92%8C)

**この記事は、2024年1月12日(日)に開催された「[piyopiyo.ex #55：もくもく作業タイム](https://piyopiyoex.connpass.com/event/342038/)」の成果物です。**

---

# 瞬時に立ち上がるPhoenixアプリ

Phoenixアプリの作成は驚くほど簡単です。たった1行のコマンドで、すぐにプロジェクトを開始できます。

Elixirがインストールされていない場合、Elixirのインストールも行ってくれます。

## コマンド例 (macOS/Ubuntu)  

以下のコマンドを実行してください：

```bash
curl https://new.phoenixframework.org/myapp | sh
```

上記を実行することで、`myapp`という名前のPhoenixアプリが作成されます。このアプリは基本構造が既に整えられており、開発をすぐに開始できます。
Elixirがインストールされていない場合、Elixirのインストールも行ってくれます。

[Phoenix Express](https://hexdocs.pm/phoenix/up_and_running.html#phoenix-express)と呼ばれています。「不死鳥（火の鳥）」「鉄道」です。

<iframe width="480" height="854" src="https://www.youtube.com/embed/g571HaRoY4U" title="手塚治虫が語る「火の鳥と人生観」 #shorts #手塚治虫" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>


<iframe width="1056" height="594" src="https://www.youtube.com/embed/zd6LF4g-xjs" title="ゴダイゴ-銀河鉄道999 （1979年）" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

---

## プロジェクト名をカスタマイズする方法

プロジェクト名を自由に指定することも可能です。Phoenixの公式ドキュメントによると、プロジェクト名はコマンドの「パス」から取得されます。

例えば、「世界平和」を象徴するプロジェクト名 `peace` でアプリを作成する場合、以下のように入力します：

```bash
curl https://new.phoenixframework.org/peace | sh
```

これにより、`peace` という名前のプロジェクトが作成されました。不死鳥(Phoenix)が象徴する再生と希望の力を活用し、平和への歩みを支援するアプリの第一歩を踏み出しましょう。

![スクリーンショット 2025-01-12 10.20.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/5960a94d-107b-a289-7a9f-288cf0df87fd.png)


いまさら気づいたのですが、どんな名前でプロジェクトを作成しても「Peace」の文字が表示されます。

:::note warn
いまさら気づいたのですが、どんな名前でプロジェクトを作成しても「Peace」の文字が表示されます。
この場合の「Peace of mind」は、「安心感」や「心の平穏」に焦点を当てた表現とのことで、「世界恒久平和」を祈ったものであると解釈するのは無理があるようです。ただし、個人的の解釈は自由で、自由には責任が伴うという類のものです。

ちなみにPhoenixのGitHub/README.mdにも同じフレーズは使われており、こちらは2020年9月17日にコミットされています。
https://github.com/phoenixframework/phoenix/commit/7971970f08248365f7b1d2cf376252cc2c6504c8
:::

---

# 環境構築がまだの方へ

手元にLinuxマシンがない場合でも心配ありません。GitHub Codespacesを利用すれば、ブラウザ上で簡単に環境を整え、すぐに開発を開始できます。以下のリンクを参考にしてください：

https://qiita.com/torifukukaiou/items/5dd716cb04db9b46bc92

「[6. phx_devcontainer を利用してPhoenixアプリケーションを開発する](https://qiita.com/torifukukaiou/items/5dd716cb04db9b46bc92#6-phx_devcontainer-%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6phoenix%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E9%96%8B%E7%99%BA%E3%81%99%E3%82%8B)」で環境構築ができます。

GitHub Codespacesで動かす場合においては、ポート競合の問題が発生して一度Phoenix Expressシェルスクリプト内の「`mix phx.server`」が失敗してしまいますが、落ち着いてもう一度「`mix phx.server`」を手打ちすれば立ち上がります。**世界恒久平和は簡単には実現できないのです！ 不断の努力が必要です！（change directory、つまり`cd peace` を忘れずに！）**

---

# 闘魂と技術で世界平和を目指そう

アプリ開発は、単なる技術的な挑戦にとどまりません。それはまた、私たち一人ひとりが「**世界恒久平和**」に向けて行動する力の象徴です。  
猪木さんが夢見た「**本当の世界平和**」を、私たちも不死鳥の力を借りて実現していきましょう。