学習ロードマップ

Elixir / Phoenix 入門

関数型言語 Elixir と Web フレームワーク Phoenix を、並行処理や LiveView の特徴まで含めて学ぶためのロードマップ。Erlang VM 由来の堅牢さを実感したい人向け。

Elixir実践入門──基本文法、Web開発、機械学習、IoT OD>ElixirではじめるIoT開発入門 : Nervesプラットフォームで組み込み開発にトライ
SCROLL TO BEGIN

このロードマップが扱うもの

Ruby JavaScript Web Elixir Phoenix API LiveView

このロードマップの全体像

このロードマップは、Ruby や JavaScript など既存言語の経験があり、関数型プログラミングや並行処理の発想を取り入れて Web アプリを組み直したいエンジニアを対象にしています。学び終えたときには、Elixir の基本文法とプロセスモデルを理解したうえで、Phoenix で API と LiveView を組み合わせたリアルタイム機能を設計・実装できる状態を目指します。

学習ステップ

1. Elixir 基礎文法とパターンマッチを押さえる: イミュータブルなデータ構造、関数定義、パイプ演算子、パターンマッチの書き方を手を動かして身につけます。 2. プロセスと OTP の考え方を理解する: 軽量プロセス、メッセージパッシング、GenServer と Supervisor ツリーを通して、障害隔離を前提にした設計を学びます。 3. Mix と Hex でアプリ土台を作る: プロジェクト作成、依存管理、テスト(ExUnit)、リリースまでのライフサイクルを体験し、開発の型を整えます。 4. Phoenix で Web/API を組む: ルーティング、コントローラ、Ecto によるデータアクセスを通じて、従来の MVC 的な Web 開発を Elixir 流に再構築します。 5. LiveView でリアルタイム UI を作る: サーバーサイドで状態を持つインタラクティブ UI を構築し、WebSocket ベースの更新フローを体感します。 6. デプロイと運用: Releases、ログ、観測、スケール戦略まで踏み込み、本番環境で動かすための勘所を身につけます。

注意点と周辺知識

関数型や BEAM の世界観は、命令型言語と設計発想が大きく異なるため、最初は「オブジェクトで考えない」練習が必要です。Ecto のスキーマとチェンジセットは独特の作法があり、DB スキーマ設計の知識が前提になります。並行処理を活かすには、プロセス境界・バックプレッシャー・タイムアウト設計の理解が欠かせません。周辺では、PostgreSQL、HTTP、WebSocket、基本的な関数型概念(高階関数、再帰、イミュータビリティ)を並行して復習しておくと、Phoenix のコードが素直に読めるようになります。

ロードマップ

2 つのステップで読み進める

  1. 01
    ステップ 01 Elixir実践入門──基本文法、Web開発、機械学習、IoT
    Elixir実践入門──基本文法、Web開発、機械学習、IoT
  2. 02
    ステップ 02 OD>ElixirではじめるIoT開発入門 : Nervesプラットフォームで組み込み開発にトライ
    OD>ElixirではじめるIoT開発入門 : Nervesプラットフォームで組み込み開発にトライ

第 1 章

Elixir実践入門──基本文法、Web開発、機械学習、IoT

  1. Elixir実践入門──基本文法、Web開発、機械学習、IoT

    Elixir実践入門──基本文法、Web開発、機械学習、IoT
    この章の 1 冊 Elixir実践入門──基本文法、Web開発、機械学習、IoT

    Erlang VM 上の Elixir をWeb・機械学習・IoT で横断的に実践する

    この本で身につくこと
    • Elixir のパターンマッチング・パイプ演算子・イミュータブルデータを実務コードで使いこなす
    • OTP(GenServer / Supervisor / Task)を用いた耐障害性の高い並行プロセス設計ができる
    • Phoenix + Ecto + LiveView でリアルタイム UI を持つ Web アプリを一から構築・デプロイできる
    • Nx と Axon を Livebook 上で操作し、画像分類などの機械学習パイプラインを試作できる

    想定読者: Ruby・Python・JavaScript などの経験を持ち、関数型・並行プログラミングを次の武器に加えたいバックエンド/フルスタック開発者

    本の詳細を見る →
  2. OD>ElixirではじめるIoT開発入門 : Nervesプラットフォームで組み込み開発にトライ

    OD>ElixirではじめるIoT開発入門 : Nervesプラットフォームで組み込み開発にトライ
    この章の 1 冊 OD>ElixirではじめるIoT開発入門 : Nervesプラットフォームで組み込み開発にトライ

    Elixir/Nerves で IoT デバイスにファームウェアを書き込む

    この本で身につくこと
    • Nerves の基本構成(最小 Linux ブートローダ + Erlang VM + Elixir ランタイムを小規模なファームウェアに収める仕組み)を説明できる
    • mix コマンドによるクロスコンパイルと、microSD カードへのファームウェア書き込みから Raspberry Pi 起動までの一連のデプロイフローを実行できる
    • Nerves の Circuits ライブラリを使って GPIO ピンを制御し、LED 点滅などの基本的なデバイス出力を Elixir コードで実装できる
    • Nerves プロジェクトにネットワーク設定を追加し、IoT デバイスから HTTP 通信やリモートコンソール接続を行う手順を理解できる

    想定読者: Elixir の基礎知識があり、Raspberry Pi などの ARM ボードを使って組み込み・IoT 開発に踏み出したいエンジニア

    本の詳細を見る →