この記事は、Elixir Advent Calendar 2024 シリーズ5 の1日目です
piacere です、ご覧いただいてありがとございます
2024年末の時点で、Elixirにいったい何が出来るのかを以下の軸で紐解いていくシリーズです
①2024年の新たなライブラリ/FW編
②2024年に更新されたライブラリ/FW編
③2024年のLivebook+プラグイン編
④2024年のクラウドライブラリ編
⑤2024年のWeb/スマホ/マイクロサービス編
⑥2024年のAI・LLMトレンドから2025年のElixirを占う
⑦2024年末までのElixirができることを振り返る
今回は「①2024年の新たなライブラリ/FW編」です
ここで紹介されているもの以外にも、「ウチでこんな新しめライブラリ使っているよ」とかあれば、ぜひコメントでお知らせください
なお、このコラムが、面白かったり、役に立ったら、 をお願いします
2024年に初回リリースされたライブラリ/FW
hex.pm
の「Recently Created」の58ページ x 1ページ30本 + 2024/1/1追加の「ex_result」までの3本で、
計1,773本
となります
これは、2023年の計1,335本 と比べ、33%増加しています
全体傾向としては、下記4つに関連したライブラリが多く見られました
- 動作配信フレームワーク「membrane」関連
- Livebook拡張フレームワーク「Kino」関連
- Gleam関連
- Google API関連
その中でも、キャッチーなElixirライブラリ/FWを15個ほど、紹介します
なお、Kino関連はLivebook+プラグイン編でまとめ、Google API関連はマイクロサービス編でまとめ、Gleam関連は専門的にやっていないため別の方に譲ります
Pythonx
Elixir(iex、Livebook含む)でPythonを直接実行するライブラリ
Membrane SimpleRTSP Server
MembraneでMP4ファイルをRTSPでの遠隔コントロール(再生/一時停止など)を実現するサーバー化
Membrane FFmpeg Transcoder Plugin
Membraneで様々な品質の動画にコンバートするプラグイン
LiveExWebrtc
Elixir製WebRTCのLiveComponent
Scrivener Components
Phoenixでページネーターを実現する「scrivener」のLiveComponent
SaladUI
Reactのshadcn/uiライクなUIコンポーネント
Tremorx
ReactのTremorライクなUIコンポーネント
LiveReact
LiveView内でReactを活用するライブラリ
LiveView Responsive
react-responsiveに影響を受けたLiveViewレスポンシブハンドラ
Pipeline Flow
業務フローをパイプラインで規定するためのフレームワーク
EctoMermaid
Ecto RepoをER図としてMermaid出力
Logger HTTP
ReqなどのHTTPハンドラと共に使えるHTTPロガー
ExUnitParameterize
ExUnitでのパラメータ化テスト(同じテストケースに対し、異なるデータや入力値を繰り返し適用するテスト)を実現するライブラリ
ClusterBot
ノードが切断された場合に自動的に再接続(ノード情報はCachex上に保持)し、ノードプールサイズを一定に維持する分散ライブラリ
Distributed Stream
Task.async_streamがローカルマシンでのプロセスプールによるストリーム処理をするのに対し、Distributed Streamはクラスタ上の複数マシン
終わりに
普段、Elixir開発をされている方でも、初見のライブラリ/FWが割とあったのでは無いでしょうか?
年間1,000本を超える新規リリースが行われているElixir OSSに感謝です
次回は、②2024年に更新されたライブラリ/FW編 をお送りします
p.s.このコラムが、面白かったり、役に立ったら…
明日も私で 「②2024年に更新されたライブラリ/FW編」をお送りします