Elixir/Phoenix 初級①: はじめの一歩

Elixir/Phoenix 初級①

はじめの一歩

主な学習項目

  • 各種ソフトウェアのインストール
  • 経路設定(routing)の初歩
  • アクション、ビュー、テンプレート
  • Brunchによるフロントエンド開発
Elixir phoenix volume01 ver02

本書は、『Elixir/Phoenix 初級』シリーズの第 1 巻です。Elixir(エリクサー)はプログラミング言語の名前です。Phoenix(フェニックス)は Elixir で記述された Web アプリケーション開発のためのフレームワークです。どちらも 2010 年代に開発が始まったばかりの「新顔」です。

Elixir と Phoenix は別々の存在なのですが、本シリーズではこれらを同時並行的に解説していこうと考えています。ただし、記述の重点は Web アプリケーション開発にあります。Elixir と Phoenix の機能を網羅的に説明したリファレンスではありません。ある具体的な Web サイトを想定し、その完成に向けて作業を進めながらプログラミングを学んでいくというスタイルで書かれています。

読者としては、Web アプリ開発に初めて挑戦する人を想定しています。そのため、HTML、CSS/SCSS、JavaScript、Bootstrap などの周辺技術についてもかなり丁寧に説明しています。すでに Web サイトの制作・開発に携わっている方々にとっては、既知の話が続く場面があるかもしれませんが、お許しください。

さて、本書には Elixir と Ruby を比較する記述がところどころにあります。また Phoenix についての説明をした後で、しばしば「Ruby on Rails ではこう書く」という感じの注釈を加えています。Elixir と Phoenix は Ruby と Ruby on Rails から強い影響を受けており、外見的にかなり似たところがあります。そのため Ruby on Rails 開発の経験者が本書を読むケースも多いだろうと考え、このような書き方を採用しました。しかし、Ruby および Ruby on Rails の知識は本シリーズを読むための前提ではありません。

この第 1 巻では、例題として ModestGreeter という Web アプリを作りながら、以下に挙げるテーマについて学習していきます。

* Elixir: 変数、モジュール、関数、リスト、タプル、キーワードリスト、マップ、シジル、caseマクロ、など
* Phoenix: 経路、アクション、ビューモジュール、テンプレート、パスヘルパー、など
* HTML: タグ、要素、属性、など
* CSS: セレクタ、宣言、マージン、パディング、背景色、など
* その他: Brunch、Bootstrap、Font Awesome、など

最後に、第 1 巻であえて扱わなかった主なテーマを列挙しておきます。

* パターンマッチング
* パイプ演算子
* 再帰
* 並行プログラミング

これらはすべて Elixir の「存在価値」と言ってもいいようなものですが、本書の想定読者には高すぎるハードルであると考えました。これらについては、第 2 巻以降でおいおい解説していく予定です。

本書の構成

  • 第1章 Elixir/Phoenix への誘い
  • 第2章 各種ソフトウェアのインストール
  • 第3章 Elixir の初歩
  • 第4章 基本データ型
  • 第5章 Hello, world!
  • 第6章 経路設定の初歩
  • 第7章 コントローラとアクション
  • 第8章 HTML とテンプレート
  • 第9章 パラメータ
  • 第10章 HTML 文書の区分とスタイルシート
  • 第11章 Bootstrap と Font Awesome
  • 第12章 モジュールと関数
  • 第13章 タプルとリスト
  • 第14章 キーワードリスト
  • 第15章 マップ
  • 第16章 ビューモジュール
  • 第17章 ページ間のリンク
  • 第18章 画像
  • 付録A Chrome デベロッパーツール
  • 付録B ベンチマークの計測
  • 付録C Homebrew のインストール
  • 付録D Node.js のインストールと更新