Elixir(エリクサー)という、プログラミング言語を聞いたことがありますか?
プログラミング言語「Elixir」は、「世界中のIT技術者から愛されているプログラミング言語はなにか」という2022年の調査結果で、第2位にランクインしています。(参考:ITmedia記事)
そのような、プログラミング言語「Elixir(エリクサー)」と、ElixirのWebアプリケーションフレームワークである「Phoenix(フェニックス)」がわかる本を紹介します。
将来に備えて、新しいプログラミング言語を学んでみませんか?
Elixir(エリクサー)とは
Elixirは、Erlang仮想マシン(BEAM)上で実行される関数型プログラミング言語です。
並行性、スケーラビリティ、耐久性に重点を置いており、分散システムの構築に適しています。
Elixirは、簡潔な構文、強力なパターンマッチング、マクロなど、多数の機能を備えています。
Elixir公式サイト(日本語)https://elixir-lang.jp
Elixir School(エリクサー・スクール)日本語 https://elixirschool.com/ja
Phoenix(フェニックス)とは
Phoenixは、Elixirで書かれたWebアプリケーションのためのフレームワークです。
速度と生産性に重点を置いており、MVCアーキテクチャ、WebSocket、GraphQLなどの機能を提供します。
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の本(単行本、雑誌)
Elixir実践ガイド:黒田 努(著)
書籍情報
本書は、Web開発のプロが書き下ろしたの国内初のElixirプログラミングの解説書です。
新しい言語に挑戦しようとする現役のプログラマだけでなく、プログラミング自体の初心者にも門戸を開くべく、「変数」や「整数」のような基本的な概念についてもできるかぎり丁寧に説明しています。
また、具体的なソースコードとその実行結果を数多く掲載しています。
特に誤ったソースコードの例とそれを実行したときに出力される警告とエラーメッセージについて詳しく解説されており、初心者が戸惑い、学習意欲を損なわないようなに配慮されています。本書で扱ったサンプルコードは、Webサイトからダウンロード可能です。
実行環境としてはDockerコンテナを利用し、Elixir 1.11に対応しています。また、著者のサポートサイトでは、本書の内容に関する質問も受け付けています。
本書の主要なテーマは、モジュール、関数、データ型、パターンマッチングなどです。
amazon.co.jp書籍情報より引用
より複雑なテーマである構造体、ポリモーフィズム、ビヘイビア、メタプログラミング、並行プログラミングなどは、続編となる「Elixir実践ガイド アドバンスト編」で扱います。
ここがポイント
プログラミング初心者、Elixirプログラミング入門者におすすめする本です。
ほかのプログラミング言語(Ruby, Javaなど)とElixirプログラミングの違いも解説されています。
Kindle版の無料サンプルで第7章まで読めるので、内容を確認することをおすすめします。
kindle unlimited会員は、追加料金なしで読み放題です。
関連リンク
弊社代表黒⽥による書籍『Elixir実践ガイド』が、インプレス社 より発売されました。 - Coregenik Inc. | 株式会社コアジェニック
プログラミングElixir 第2版:デイブ・トーマス(著)
書籍情報
プログラミング言語Elixirを学ぶ
Elixir(エリクサー)は、並行処理を得意とするプログラミング言語ErlangのVM(エンジン部分)を基盤とし、Erlangよりもなじみやすい文法を採用したプログラミング言語です。
本書は、世界的なRubyプログラマであるDave Thomas氏が書いた、プログラミング言語Elixirの本格的解説書“Programming Elixir 1.6” (Pragmatic Bookshelf, 2018) の日本語訳です。
通常のプログラミングから、並行処理、さらなる応用へと順を追って進む構成になっています。
amazon.co.jp書籍情報より引用
本書を読むことで、Elixirらしいプログラミングを学ぶことができます。
ここがポイント
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 ── 保守性・拡張性に優れた関数型言語)
書籍情報
■特集1
Rust入門 ── [高速|安全|高生産性]言語の強みをWeb開発に活かす■特集2
はじめてのElixir ── 保守性・拡張性に優れた関数型言語
本特集では、パターンマッチをサポートする関数型言語Elixirを取り上げます。
第1章~第5章でElixirの基礎的な部分を網羅的に解説し、最終章では前章までの知識を活用して実践可能なプロジェクトの作成を行います。
Elixirの魅力は、保守性や拡張性に優れた開発が可能であることです。
本特集を読むことで、それらを実感してください。■特集3
amazon.co.jp書籍情報より引用
実装して学ぶHTTP/3 ── 通信の高速化をいかに実現しているか
関連リンク
WEB+DB PRESS Vol.131「はじめてのElixir」特集記念パーティ - YouTube >寄稿者がZoomで集まって裏話を語っている動画です。
Phoenixの本(単行本、雑誌)
WEB+DB PRESS Vol.127(特集2 Elixirによる高速なWeb開発!作って学ぶPhoenix)
書籍情報
特集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巻)
書籍情報
本書は、『改訂新版 Elixir/Phoenix 初級』シリーズの第 1 巻です。
Elixir と Phoenix は別々の存在なのですが、本シリーズではこれらを同時並行的に解説していきます。
ただし、記述の重点は Web アプリケーション開発にあります。Elixir と Phoenix の機能を網羅的に説明したリファレンスではありません。ある具体的な Web サイトを想定し、その完成に向けて作業を進めながらプログラミングを学んでいくというスタイルで書かれています。
読者としては、Web アプリ開発に初めて挑戦する人を想定しています。
amazon.co.jp書籍情報より引用
そのため、HTML、CSS/SCSS、JavaScript、webpack、Bootstrap などの周辺技術についてもかなり丁寧に説明しています。
すでに Web サイトの制作・開発に携わっている方々にとっては、既知の話が続く場面があるかもしれませんが、お許しください。
本書は、『改訂新版 Elixir/Phoenix初級』シリーズの第2巻です。
前巻に引き続き、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。
例題としてNanoPlannerという簡易予定表管理システムを作ります。
amazon.co.jp書籍情報より引用
本書は、『改訂新版 Elixir/Phoenix初級』シリーズの第3巻です。
前巻で作成した簡易予定表管理システムNanoPlannerの機能拡張を進めながら、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。
ただしこの巻では、Elixirに関する新しい知識はほとんど出てきません。その代わり、Phoenixに関する新たなテーマが次々と登場します。
amazon.co.jp書籍情報より引用
本書は、『改訂新版 Elixir/Phoenix 初級』シリーズの第4巻です。
第2巻から作り始めた簡易予定表管理システムNanoPlannerの機能拡張を進めながら、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。
amazon.co.jp書籍情報より引用
本書は『改訂新版 Elixir/Phoenix 初級』シリーズの第5巻です。
第2巻から作り始めた簡易予定表管理システムNanoPlannerの機能拡張を進めながら、プログラミング言語ElixirとWebアプリケーション開発フレームワークPhoenixの学習を並行的に進めていきます。
amazon.co.jp書籍情報より引用
ここがポイント
ElixirとPhoenixを使った、Web アプリ開発の入門者におすすめする本です。
kindle unlimited会員は、全5巻を追加料金なしで読み放題です。
アマゾンKindle Unlimited無料体験を試す
- 小説・ビジネス本・実用書・コミック・雑誌など200万冊以上が読み放題
- Kindle端末だけでなくスマートフォン,タブレット,PC,Macでも利用可能
- 初めてご利用の方は30日間の無料体験が可能
- 無料体験期間終了後は月額980円。いつでもキャンセルできます
200万冊以上が定額読み放題
期間終了後は月額980円。いつでもキャンセルできます。
関連リンク集
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(エリクサー)」と、ElixirのWebアプリケーションフレームワークである「Phoenix(フェニックス)」がわかる本を紹介しました。
プログラミング言語「Elixir」は、「世界中のIT技術者から愛されているプログラミング言語はなにか」という2022年の調査結果で、第2位にランクインしています。(参考:ITmedia記事)
将来に備えて、新しいプログラミング言語を学んでみませんか?
本ブログサイトでは、以下のブログ記事も発信しています。