学習ロードマップ
関数型言語 Elixir と Web フレームワーク Phoenix を、並行処理や LiveView の特徴まで含めて学ぶためのロードマップ。Erlang VM 由来の堅牢さを実感したい人向け。
このロードマップが扱うもの
このロードマップは、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 のコードが素直に読めるようになります。
ロードマップ