- Digital1,000 JPY
本書は、普段 Rails で開発することが多い Web エンジニアで、他言語の選択肢を探している方に向けた内容となっています。Elixir/Phoenix に少しでも興味を持ってもらえ れば幸いです。 [なぜ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アプリケーションを効率よく開発することが可能になるのです。