search
LoginSignup
0

posted at

updated at

Organization

FlutterでWebRTCアプリを作るときによく使うライブラリ

FlutterでWebRTCアプリを作る

iPresenceでは普段FlutterでWebRTCとテレプレゼンスロボットを使用するアプリケーションの開発を行っています。
そんな開発をしていく中でデファクトスタンダードとなっているライブラリを紹介していきます。

flutter_webrtc .

FlutterでWebRTCを使用するためのライブラリです。スマホのネイティブアプリやWeb版への対応もされており大体はこれで解決できます。
カメラの映像音声だけでなく画面共有機能もサポートされており様々機能をWebRTCのビデオ通話に乗せることができます。

riverpod / hooks_riverpod

Flutterでの状態管理をするのに定番となりつつあるライブラリです。
特に開発ではhooksと連携するhooks_riverpodを使用してアプリ内でも状態管理を行っています。
以前はreduxを使用していましたがコードの簡略化、Flutter開発での主流に合わせる形でriverpodを使用するようになりました。

freezed

Flutterでデータモデルを作成するライブラリです。
immutableなオブジェクトを生成し クローンを作為するcopyWith メソッドなどを提供してくれます。

build_runner と組み合わせることで強力にかつ簡単にモデルの作成をしてくれます。

go_router

Flutterでデファクトスタンダードとなっているページ遷移を提供してくれるライブラリです。
riverpodでの状態管理もやりやすく、簡単な記述でルーティングの管理、リダイレクトの制御もできます。
日本語のドキュメントが多い点も手を付けやすくおすすめです。

shared_preferences

ローカルストレージにデータを保存するすためのライブラリです。
基本はFirebaseのFireStoreにてデータを管理していますが、ローカルストレージにデータの保存(アプリの設定等)が必要な場合に使用します。

mockito

テストをする際特定のクラスをモック化する場合に使用します。
特に外部との通信が必要なるコードなどをmockitoを使ってモック化してテストすることが多いです。

firebase fakes

Firebaseの機能をテスト時にモック化してくれる公式のライブラリです。

  • firestore
  • storage
  • auth
  • sign in
    のみの対応ですがテストで使用するには十分の機能です。

終わりに

今回FlutterでWebRTCアプリを作る際によく使うライブラリの紹介でした。
各ライブラリの実際の使用方法などは今後紹介できたらと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0