【広告】本ページはプロモーションが含まれています

Elixir・Phoenixプログラミングがわかる本おすすめ

「Elixir・Phoenixのプログラミングがわかる本」アイキャッチ画像

Elixir(エリクサー)という、プログラミング言語を聞いたことがありますか?

プログラミング言語「Elixir」は、「世界中のIT技術者から愛されているプログラミング言語はなにか」という2022年の調査結果で、第2位にランクインしています。(参考:ITmedia記事

そのような、プログラミング言語「Elixir(エリクサー)」と、ElixirのWebアプリケーションフレームワークである「Phoenix(フェニックス)」がわかる本を紹介します。

将来に備えて、新しいプログラミング言語を学んでみませんか?

Elixir(エリクサー)とは

Elixirは、Erlang仮想マシン(BEAM)上で実行される関数型プログラミング言語です。

並行性、スケーラビリティ、耐久性に重点を置いており、分散システムの構築に適しています。

Elixirは、簡潔な構文、強力なパターンマッチング、マクロなど、多数の機能を備えています。

もっと簡単に説明すると

Elixirは、プログラムを書くための言語の一つで、Erlangという別の言語を基にして作られています。

Elixirは、同時にたくさんの処理を行うことが得意で、大規模なシステムの構築に向いています。

また、シンプルで簡潔な書き方ができるので、初心者でも理解しやすく、学習しやすい言語です。

Elixirを使うことで、より高度なプログラム開発が可能になります。

Elixir公式サイト(日本語)https://elixir-lang.jp

Elixir School(エリクサー・スクール)日本語 https://elixirschool.com/ja

Phoenix(フェニックス)とは

Phoenixは、Elixirで書かれたWebアプリケーションのためのフレームワークです。

速度と生産性に重点を置いており、MVCアーキテクチャ、WebSocket、GraphQLなどの機能を提供します。

Phoenixは、Erlang VMの力を活用し、高速なリアルタイムWebアプリケーションを構築することができます。

もっと簡単に説明すると

Phoenixは、ElixirでWebアプリケーションを作るためのフレームワークです。

例えば、ウェブサイトやAPI、リアルタイム通信が必要なアプリケーションを作ることができます。

Phoenixは、開発者がアプリケーションのロジックに集中できるよう、ルーティングやビューなどの機能を提供します。

また、Erlang VMの強力な機能を使うことで、高速でスケーラブルなWebアプリケーションを開発できます。

Phoenix Framework公式サイト(英語)https://www.phoenixframework.org

Phoenix v1.7 hexdocs 日本語訳 https://zenn.dev/koga1020/books/phoenix-guide-ja-1-7

最新のElixir・Phoenixの本

近日発売予定や最近発売された最新のElixir・Phoenixの関連書籍を、発売日が新しい順に紹介します。

Elixir実践入門 基本文法、Web開発、機械学習、IoT:栗林健太郎ほか(著)

書籍情報

栗林健太郎, 大原常徳, 大聖寺谷一樹, 山内修, 齋藤和也, 隆藤唯章, 高瀬英希(著)技術評論社(出版社)2024/2/24(発売日)424(ページ数)

さまざま領域に活用範囲を広げる、新進気鋭の言語のポテンシャル
本書は、Elixirの言語仕様と実践的な利用方法を解説した入門書です。

Elixirは、低遅延で高い可用性を要求される分散システムの構築と運用を目的とするErlang VM上で動作する言語で、その文法はRubyから大きく影響を受けています。
ゲームやチャットプラットフォームなど大量のコネクションとトラフィックを扱う必要のあるシステムを構築するのに利用されています。
有用なツールやライブラリが多数開発されているのも後押しとなり、近年ではさまざまな分野に活躍の場を広げつつあります。

本書では、Webアプリケーション、機械学習、IoTなどでのElixirの活用方法を解説します。
サンプルアプリケーションを開発しながらコードを紹介しつつ解説しています。
Phoenix、Nx、Livebook、Nervesといったツールやライブラリの実践的な活用方法も紹介しているので、今の開発に即した実践的な知識が身に付けられます。

amazon.co.jp書籍情報より引用

評判・口コミ

ElixirではじめるIoT開発入門 Nervesプラットフォームで組み込み開発にトライ!:三宅 泰宏(著)

書籍情報

三宅 泰宏(著)インプレス NextPublishing(出版社)2023/12/8(発売日)78(ページ数)

本書は、Elixir言語とNervesフレームワークを用いた組み込み機器開発の基礎を紹介します。

Elixir言語でRaspberry Piの入出力などを扱う基本的な手順や、実際の開発における作業効率向上の手法など、本書での作例を通じて、理解しやすい形で解説しています。

amazon.co.jp書籍情報より引用

評判・口コミ

実践プロパティベーステスト PropErとErlang/Elixirではじめよう

書籍情報

Fred Hebert(著)山口能迪(翻訳)ラムダノート(出版社)2023/11/1(発売日)376(ページ数)

テストケースはコンピューターで書くべき!

でもどうやって? その答えが「プロパティベーステスト」です!

amazon.co.jp書籍情報より引用

評判・口コミ

Elixirの本(単行本、雑誌)

Elixir実践ガイド:黒田 努(著)

書籍情報

黒田 努(著)インプレス(出版社)2021/2/5(発売日)911P(ページ数)

本書は、Web開発のプロが書き下ろしたの国内初のElixirプログラミングの解説書です。

新しい言語に挑戦しようとする現役のプログラマだけでなく、プログラミング自体の初心者にも門戸を開くべく、「変数」や「整数」のような基本的な概念についてもできるかぎり丁寧に説明しています。

また、具体的なソースコードとその実行結果を数多く掲載しています。
特に誤ったソースコードの例とそれを実行したときに出力される警告とエラーメッセージについて詳しく解説されており、初心者が戸惑い、学習意欲を損なわないようなに配慮されています。

本書で扱ったサンプルコードは、Webサイトからダウンロード可能です。
実行環境としてはDockerコンテナを利用し、Elixir 1.11に対応しています。

また、著者のサポートサイトでは、本書の内容に関する質問も受け付けています。

本書の主要なテーマは、モジュール、関数、データ型、パターンマッチングなどです。
より複雑なテーマである構造体、ポリモーフィズム、ビヘイビア、メタプログラミング、並行プログラミングなどは、続編となる「Elixir実践ガイド アドバンスト編」で扱います。

amazon.co.jp書籍情報より引用

ここがポイント

プログラミング初心者、Elixirプログラミング入門者におすすめする本です。

ほかのプログラミング言語(Ruby, Javaなど)とElixirプログラミングの違いも解説されています。

Kindle版の無料サンプルで第7章まで読めるので、内容を確認することをおすすめします。

kindle unlimited会員は、追加料金なしで読み放題です。

関連リンク

弊社代表黒⽥による書籍『Elixir実践ガイド』が、インプレス社 より発売されました。 - Coregenik Inc. | 株式会社コアジェニック

プログラミングElixir 第2版:デイブ・トーマス(著)

書籍情報

Dave Thomas(著)笹田 耕一, 鳥井 雪(翻訳)オーム社(出版社)2020/12/1(発売日)408P(ページ数)

プログラミング言語Elixirを学ぶ

Elixir(エリクサー)は、並行処理を得意とするプログラミング言語ErlangのVM(エンジン部分)を基盤とし、Erlangよりもなじみやすい文法を採用したプログラミング言語です。

本書は、世界的なRubyプログラマであるDave Thomas氏が書いた、プログラミング言語Elixirの本格的解説書“Programming Elixir 1.6” (Pragmatic Bookshelf, 2018) の日本語訳です。

通常のプログラミングから、並行処理、さらなる応用へと順を追って進む構成になっています。
本書を読むことで、Elixirらしいプログラミングを学ぶことができます。

amazon.co.jp書籍情報より引用

ここがポイント

Elixirプログラミング中級者におすすめする本です。

著者のDave Tomas(デイブ・トーマス)は、RubyやRuby on Rails関連書籍の著者として有名な人です。

そのような著者が「なぜElixirに恋したのか」が書かれており、興味深いです。

関連リンク

プログラミングElixir(第2版) | Ohmsha >本の目次が掲載されています。

[書評] プログラミングElixir第2版のインプレッションとアップデート - Qiita >第1版と第2版の違いが記載されています。

『プログラミングElixir 第2版』を読んでいまこそElixirに入門しよう | 栗林健太郎

WEB+DB PRESS Vol.131(特集2 はじめてのElixir ── 保守性・拡張性に優れた関数型言語

書籍情報

WEB+DB PRESS編集部(編集)技術評論社(出版社)2022/10/22(発売日)168P(ページ数)

■特集1
Rust入門 ── [高速|安全|高生産性]言語の強みをWeb開発に活かす

■特集2
はじめてのElixir ── 保守性・拡張性に優れた関数型言語

 本特集では、パターンマッチをサポートする関数型言語Elixirを取り上げます。
 第1章~第5章でElixirの基礎的な部分を網羅的に解説し、最終章では前章までの知識を活用して実践可能なプロジェクトの作成を行います。
 Elixirの魅力は、保守性や拡張性に優れた開発が可能であることです。
 本特集を読むことで、それらを実感してください。

■特集3
実装して学ぶHTTP/3 ── 通信の高速化をいかに実現しているか

amazon.co.jp書籍情報より引用

関連リンク

WEB+DB PRESS Vol.131「はじめてのElixir」特集記念パーティ - YouTube >寄稿者がZoomで集まって裏話を語っている動画です。

Phoenixの本(単行本、雑誌)

WEB+DB PRESS Vol.127(特集2 Elixirによる高速なWeb開発!作って学ぶPhoenix

書籍情報

WEB+DB PRESS編集部(編集)技術評論社(出版社)2022/2/24(発売日)168P(ページ数)

特集2 Elixirによる高速なWeb開発!作って学ぶPhoenix

本特集では,ElixirとPhoenixでWebアプリケーションを開発する方法を解説します。

Elixirは,低遅延で高い可用性を実現するプログラミング言語で,その文法はRubyから大きく影響を受けています。

Phoenixは,ElixirにおけるデァクトスタンダードなWebアプリケーションフレームワークで,リッチなフロントエンドを持つ昨今の開発で求められる要素がすべて組み込まれています。

特集を通してRealWorldという一つのWebアプリケーションを作ることで,ElixirとPhoenixについて実践的に学んでいきましょう。

amazon.co.jp書籍情報より引用

関連リンク

WEB+DB PRESS Vol.127にElixirとPhoenixの特集を寄稿しました

WEB+DB PRESS vol.127 Phoenix特集こたつで座談会 - YouTube >寄稿者がZoomで集まって裏話を語っている動画です。

改訂新版 Elixir/Phoenix 初級 シリーズ  (全5巻)

書籍情報

黒田 努(著)Kindle版(出版社)2021/2/8(発売日)304P(ページ数)

本書は、『改訂新版 Elixir/Phoenix 初級』シリーズの第 1 巻です。

Elixir と Phoenix は別々の存在なのですが、本シリーズではこれらを同時並行的に解説していきます。
ただし、記述の重点は Web アプリケーション開発にあります。Elixir と Phoenix の機能を網羅的に説明したリファレンスではありません。

ある具体的な Web サイトを想定し、その完成に向けて作業を進めながらプログラミングを学んでいくというスタイルで書かれています。

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

amazon.co.jp書籍情報より引用
黒田 努(著)Kindle版(出版社)2021/5/7(発売日)363P(ページ数)

本書は、『改訂新版 Elixir/Phoenix初級』シリーズの第2巻です。

前巻に引き続き、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。

例題としてNanoPlannerという簡易予定表管理システムを作ります。

amazon.co.jp書籍情報より引用
黒田 努(著)Kindle版(出版社)2021/5/9(発売日)293P(ページ数)

本書は、『改訂新版 Elixir/Phoenix初級』シリーズの第3巻です。

前巻で作成した簡易予定表管理システムNanoPlannerの機能拡張を進めながら、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。

ただしこの巻では、Elixirに関する新しい知識はほとんど出てきません。その代わり、Phoenixに関する新たなテーマが次々と登場します。

amazon.co.jp書籍情報より引用
黒田 努(著)Kindle版(出版社)2021/5/17(発売日)320P(ページ数)

本書は、『改訂新版 Elixir/Phoenix 初級』シリーズの第4巻です。

第2巻から作り始めた簡易予定表管理システムNanoPlannerの機能拡張を進めながら、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。

amazon.co.jp書籍情報より引用
黒田 努(著)Kindle版(出版社)2021/8/24(発売日)380P(ページ数)

本書は『改訂新版 Elixir/Phoenix 初級』シリーズの第5巻です。

第2巻から作り始めた簡易予定表管理システムNanoPlannerの機能拡張を進めながら、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。

amazon.co.jp書籍情報より引用

ここがポイント

ElixirとPhoenixを使った、Web アプリ開発の入門者におすすめする本です。

kindle unlimited会員は、全5巻を追加料金なしで読み放題です。

関連リンク集

Elixir関連

Elixirを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説! | 案件評判

世界中のIT技術者から愛されているプログラミング言語 3位は「Clojure」、2位は「Elixir」 1位は? Stack Overflow調べ - ITmedia NEWS

Elixir/Phoenix - Coregenik Inc. | 株式会社コアジェニック

並列処理に関数型…でも学習コストは高くない!? Web開発者のためのElixirのススメ【デブサミ2019】 (1/2)|CodeZine(コードジン)

Phoenix関連

Phoenix Frameworkを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説! | 案件評判

ElixirとRuby関連

RubyとElixir。似て非なる2つの言語が進む未来と共存するコツ【イベント前編】 - Findy Engineer Lab - ファインディエンジニアラボ

RubyとElixirは親戚のような存在?両者の違いについて深堀りしました【イベント後編QAセッション】 - Findy Engineer Lab - ファインディエンジニアラボ

Elixir・Phoenix よくある質問と回答

Elixir・Phoenixについて、初心者からよくある質問と回答を5つ紹介します。

Elixirとは何ですか?

回答: Elixirは、スケーラビリティとメンテナンス性に優れた並行性を持つアプリケーションの開発に適した、関数型プログラミング言語です。

Erlang VM(BEAM)上で動作し、高い可用性を持つシステムの構築に適しています。

Phoenixとは何ですか?

回答: Phoenixは、Elixirで書かれたウェブ開発フレームワークです。

高いパフォーマンスと生産性を兼ね備え、リアルタイムウェブアプリケーションの開発に特に適しています。

PhoenixはElixirの特性を生かし、効率的なコードの記述と強力な並行処理能力を提供します。

Elixirの主な利点は何ですか?

回答: Elixirの主な利点には、優れた並行処理能力、容易なスケーラビリティ、高いフォールトトレランスがあります。

また、Erlangの豊富なエコシステムとライブラリを利用でき、特にリアルタイムアプリケーションや分散システムの開発に強みを持ちます。

Phoenixでウェブアプリケーションを開発する利点は何ですか?

回答: Phoenixフレームワークを使用する利点には、高速なレスポンスタイム、効率的なリアルタイム通信のサポート、生産性の高い開発ツールがあります。

Phoenixは、Elixirの提供する並行処理能力を最大限に活用し、大規模なトラフィックにも対応できるウェブアプリケーションの構築を可能にします。

ElixirやPhoenixを学ぶにはどうすればいいですか?

回答: ElixirやPhoenixを学ぶためには、公式ドキュメントやオンラインチュートリアル、書籍を活用することがおすすめです。

また、小さなプロジェクトを自分で作成しながら学習を進めることで、実践的なスキルを身につけることができます。

コミュニティに参加し、経験者からのアドバイスを受けるのも良いでしょう。

Elixir・Phoenixのスキルが活かせる職種とは?

ElixirとPhoenixに関する知識や経験を習得することによって、主にWeb開発、リアルタイムアプリケーションの開発、分散システムの設計など、多岐にわたる仕事を担当することが可能です。

Elixirは、高い並行性、容易なスケーラビリティ、メンテナンスのしやすさを提供するErlang VM(BEAM)上で動作するプログラミング言語です。

Phoenixは、Elixirで書かれたWeb開発フレームワークで、高性能なWebアプリケーションの構築を可能にします。

以下に、ElixirとPhoenixのスキルを活かせる職種の例を挙げます:

  1. Web開発者:
    • Phoenixフレームワークを使用して、高速で信頼性の高いWebアプリケーションやAPIを開発します。
    • リアルタイムWeb機能(例: チャットアプリ、ライブアップデートなど)の実装に携わります。
  2. バックエンド開発者:
    • Elixirを使用して、分散システム、マイクロサービスアーキテクチャのバックエンドコンポーネントを開発します。
    • データ処理、ビジネスロジックの実装、データベースとの連携などを行います。
  3. システムアーキテクト:
    • Elixirの強力な並行処理能力を生かして、スケーラブルで耐障害性のあるシステムアーキテクチャを設計します。
    • システムの全体設計、パフォーマンスの最適化、セキュリティの強化に責任を持ちます。
  4. IoT(モノのインターネット)開発者:
    • Elixirを活用して、IoTデバイスのデータ収集や処理、デバイス管理のためのバックエンドシステムを開発します。
    • デバイス間通信の効率化、リアルタイムモニタリングシステムの構築に携わります。
  5. DevOpsエンジニア:
    • アプリケーションのデプロイ、スケーリング、運用にElixirとPhoenixを組み込んだ自動化ツールやプロセスを開発します。
    • コンテナ技術(Docker、Kubernetes)と組み合わせたCI/CDパイプラインの構築に貢献します。
  6. 教育者/トレーナー:
    • ElixirやPhoenixに関するトレーニングプログラムやワークショップを提供し、開発者コミュニティのスキル向上を支援します。
    • オンラインチュートリアル、ブログ、講演を通じて知識を共有します。

ElixirとPhoenixに関する知識や経験は、特にリアルタイムアプリケーションや高負荷環境での開発プロジェクトで求められます。

これらの技術を駆使することで、開発効率の向上、システムの信頼性とパフォーマンスの最適化に貢献できるため、多くの業界で価値があります。

まとめ

プログラミング言語「Elixir(エリクサー)」と、ElixirのWebアプリケーションフレームワークである「Phoenix(フェニックス)」がわかる本を紹介しました。

プログラミング言語「Elixir」は、「世界中のIT技術者から愛されているプログラミング言語はなにか」という2022年の調査結果で、第2位にランクインしています。(参考:ITmedia記事

将来に備えて、新しいプログラミング言語を学んでみませんか?


本ブログサイトでは、以下のブログ記事も発信しています。