スマゴリ書籍部スマゴリ書籍部

[第2版] RailsエンジニアのためのElixir/Phoenix

  • Digital
    1,000 JPY

本書は、普段Railsで開発することが多いWebエンジニアで、他言語の選択肢を探している方に向けた内容となっています。Elixir/Phoenixに少しでも興味を持ってもらえれば幸いです。 [初版からの主な変更点] ・ユーザ認証のライブラリをGuardianからPowに変更しました。 ・ファイルアップロードのライブラリをArcからWaffleに変更しました。 [なぜElixir/Phoenixを選ぶのか] Railsは素晴らしいフレームワークです。CoCによる記述量の少なさや豊富なライブラリによる生産性の高さ、有名なプロダクトによる採用事例の多さ、それに伴う情報量の多さ、Ruby由来のプログラミングの楽しさといった、数多くの長所があります。個人的に、新規開発の際は真っ先にRailsの採用を検討します。 しかし、Railsにも短所はあります。まず、Rubyは他言語と比べて処理速度が遅く、メモリの使用量が多くなる傾向があります。また、GIL (Global Interpreter Lock) により、プロセスあたりの並列性能も高くはありません。加えて、Railsで中規模から大規模のWebアプリケーションを開発する場合、レールから外れることになり、一概には言えませんが生産性が大きく低下してしまいます。ビジネスにおけるWebアプリケーションの重要性が上がっていき、これらの課題をどう解決していくか悩んでいました。 そんなある日、Elixir/Phoenixを知る機会がありました。ElixirはErlangVM上で動作するRuby風味の関数型言語で、並行性と耐障害性に優れています。また、1つのプロジェクトの中に複数の子プロジェクト (umbrella project) を作ることで、1つの大きなアプリケーションを複数の小さなアプリケーションに分割することもできます。PhoenixはRailsに大きく影響を受けたフレームワークで、その恩恵を受けつつElixirの長所を活かし、大量のリクエストを安定して捌くWebアプリケーションを効率よく開発することが可能になるのです。 このように、素晴らしい特徴を持つElixir/Phoenixですが、本書の執筆時点で、日本ではお世辞にも流行っているとは言えません。ですが、今後インターネットのトラフィックはより一層増加していき、大量のリクエストを安定して捌くWebアプリケーションの需要もさらに増すことでしょう。そんなとき、Elixir/Phoenixが今以上に注目され、採用事例が増えていくことを望んでいます。また、Elixir/Phoenixに興味を持ち、この本を手にとってくれた方の学習の一助になればと思います。

[第2版] RailsエンジニアのためのElixir/Phoenix
[第2版] RailsエンジニアのためのElixir/Phoenix
[第2版] RailsエンジニアのためのElixir/Phoenix
[第2版] RailsエンジニアのためのElixir/Phoenix
本書は、普段Railsで開発することが多いWebエンジニアで、他言語の選択肢を探している方に向けた内容となっています。Elixir/Phoenixに少しでも興味を持ってもらえれば幸いです。 [初版からの主な変更点] ・ユーザ認証のライブラリをGuardianからPowに変更しました。 ・ファイルアップロードのライブラリをArcからWaffleに変更しました。 [なぜElixir/Phoenixを選ぶのか] Railsは素晴らしいフレームワークです。CoCによる記述量の少なさや豊富なライブラリによる生産性の高さ、有名なプロダクトによる採用事例の多さ、それに伴う情報量の多さ、Ruby由来のプログラミングの楽しさといった、数多くの長所があります。個人的に、新規開発の際は真っ先にRailsの採用を検討します。 しかし、Railsにも短所はあります。まず、Rubyは他言語と比べて処理速度が遅く、メモリの使用量が多くなる傾向があります。また、GIL (Global Interpreter Lock) により、プロセスあたりの並列性能も高くはありません。加えて、Railsで中規模から大規模のWebアプリケーションを開発する場合、レールから外れることになり、一概には言えませんが生産性が大きく低下してしまいます。ビジネスにおけるWebアプリケーションの重要性が上がっていき、これらの課題をどう解決していくか悩んでいました。 そんなある日、Elixir/Phoenixを知る機会がありました。ElixirはErlangVM上で動作するRuby風味の関数型言語で、並行性と耐障害性に優れています。また、1つのプロジェクトの中に複数の子プロジェクト (umbrella project) を作ることで、1つの大きなアプリケーションを複数の小さなアプリケーションに分割することもできます。PhoenixはRailsに大きく影響を受けたフレームワークで、その恩恵を受けつつElixirの長所を活かし、大量のリクエストを安定して捌くWebアプリケーションを効率よく開発することが可能になるのです。 このように、素晴らしい特徴を持つElixir/Phoenixですが、本書の執筆時点で、日本ではお世辞にも流行っているとは言えません。ですが、今後インターネットのトラフィックはより一層増加していき、大量のリクエストを安定して捌くWebアプリケーションの需要もさらに増すことでしょう。そんなとき、Elixir/Phoenixが今以上に注目され、採用事例が増えていくことを望んでいます。また、Elixir/Phoenixに興味を持ち、この本を手にとってくれた方の学習の一助になればと思います。