2024年のElixir①今年出たライブラリ／FW編（最新Elixirのキャッチアップと、アドカレのネタ探しに読んでください）

この記事は、[Elixir Advent Calendar 2024 シリーズ5](https://qiita.com/advent-calendar/2024/elixir) の1日目です

---

[piacere](https://twitter.com/piacere_ex) です、ご覧いただいてありがとございます :bow:

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/8b1cfb13-16c2-7a34-1a56-4a0288ab0be2.png)

2024年末の時点で、Elixirにいったい何が出来るのかを以下の軸で紐解いていくシリーズです

:::note warn
[①2024年の新たなライブラリ／FW編](https://qiita.com/piacerex/items/17c5cab114f89f11ff68)
[②2024年に更新されたライブラリ／FW編](https://qiita.com/piacerex/items/78fc907c0b44cf3dda15)
[③2024年のLivebook＋プラグイン編](https://qiita.com/piacerex/items/9f2d465af90f76d08ade)
[④2024年のクラウドライブラリ編](https://qiita.com/piacerex/items/3450ac62a03da69b3327)
[⑤2024年のWeb／スマホ／マイクロサービス編](https://qiita.com/piacerex/items/67ebb6d5979e6a3cc34f)
[⑥2024年のAI・LLMトレンドから2025年のElixirを占う](https://qiita.com/piacerex/items/4f905750861da27589b7)
[⑦2024年末までのElixirができることを振り返る](https://qiita.com/piacerex/items/1c0debb82a60f35258b9)

:::

今回は「①2024年の新たなライブラリ／FW編」です

ここで紹介されているもの以外にも、「ウチでこんな新しめライブラリ使っているよ」とかあれば、ぜひコメントでお知らせください :bow:

なお、このコラムが、面白かったり、役に立ったら、![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/907a8695-4d83-1b5c-8052-d0ce52de5f66.png) をお願いします :bow:

# 2024年に初回リリースされたライブラリ／FW

[`hex.pm` の「Recently Created」の58ページ x 1ページ30本 + 2024/1/1追加の「ex_result」までの3本](https://hex.pm/packages?sort=inserted_at&page=59)で、

:::note info
<b>計1,773本</b>
:::

となります

これは、[2023年の計1,335本](https://qiita.com/piacerex/items/774dd91c67184bec6df1) と比べ、33%増加しています

全体傾向としては、下記4つに関連したライブラリが多く見られました

- 動作配信フレームワーク「membrane」関連
- Livebook拡張フレームワーク「Kino」関連
- Gleam関連
- Google API関連

その中でも、キャッチーなElixirライブラリ／FWを15個ほど、紹介します

なお、Kino関連はLivebook＋プラグイン編でまとめ、Google API関連はマイクロサービス編でまとめ、Gleam関連は専門的にやっていないため別の方に譲ります

## Pythonx

Elixir（iex、Livebook含む）でPythonを直接実行するライブラリ

https://github.com/cocoa-xu/pythonx

## Membrane SimpleRTSP Server

MembraneでMP4ファイルをRTSPでの遠隔コントロール（再生／一時停止など）を実現するサーバー化

https://github.com/membraneframework-labs/membrane_simple_rtsp_server

## Membrane FFmpeg Transcoder Plugin

Membraneで様々な品質の動画にコンバートするプラグイン

https://github.com/kim-company/membrane_ffmpeg_transcoder_plugin

## LiveExWebrtc

Elixir製WebRTCのLiveComponent

https://github.com/elixir-webrtc/live_ex_webrtc

## Scrivener Components

Phoenixでページネーターを実現する「scrivener」のLiveComponent

https://github.com/Tricote/scrivener_components

## SaladUI

Reactのshadcn/uiライクなUIコンポーネント

https://github.com/bluzky/salad_ui

## Tremorx

ReactのTremorライクなUIコンポーネント

https://github.com/briankariuki/tremorx

## LiveReact

LiveView内でReactを活用するライブラリ

https://github.com/mrdotb/live_react

## LiveView Responsive

react-responsiveに影響を受けたLiveViewレスポンシブハンドラ

https://github.com/arturz/live_view_responsive

## Pipeline Flow

業務フローをパイプラインで規定するためのフレームワーク

https://github.com/dkln/pipeline_flow

## EctoMermaid

Ecto RepoをER図としてMermaid出力

https://github.com/poncho/ecto_mermaid

## Logger HTTP

ReqなどのHTTPハンドラと共に使えるHTTPロガー

https://github.com/A-World-For-Us/logger_http

## ExUnitParameterize

ExUnitでのパラメータ化テスト（同じテストケースに対し、異なるデータや入力値を繰り返し適用するテスト）を実現するライブラリ

https://github.com/rciorba/ex_unit_parameterize

## ClusterBot

ノードが切断された場合に自動的に再接続（ノード情報はCachex上に保持）し、ノードプールサイズを一定に維持する分散ライブラリ

https://github.com/micartey/cluster-bot

## Distributed Stream

Task.async_streamがローカルマシンでのプロセスプールによるストリーム処理をするのに対し、Distributed Streamはクラスタ上の複数マシン

https://github.com/pguillory/distributed_stream

# 終わりに

普段、Elixir開発をされている方でも、初見のライブラリ／FWが割とあったのでは無いでしょうか？

年間1,000本を超える新規リリースが行われているElixir OSSに感謝です

次回は、[②2024年に更新されたライブラリ／FW編](https://qiita.com/piacerex/items/78fc907c0b44cf3dda15) をお送りします

# p.s.このコラムが、面白かったり、役に立ったら…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/907a8695-4d83-1b5c-8052-d0ce52de5f66.png) にて、どうぞ応援よろしくお願いします :bow:

---

明日も私で [「②2024年に更新されたライブラリ／FW編」](https://qiita.com/piacerex/items/78fc907c0b44cf3dda15)をお送りします