mixi2がFlutter製だと聞いて、使いはじめてみたけど、
さわり心地とか含めて、いろいろ素敵だなと思い、
ライセンスページの利用ライブラリを見てみたときの備忘録(*´ω`*)
見てみると、知らないすてきなパッケージがたくさんあったので、
ちょっと整理してみた(2024年12月18日時点)
ライセンスページは以下からみれる
- 設定 > mixi2について > ライセンス
注意事項
ライセンスページに書かれているものをまとめただけなので、
実際には使っていないものや間接的につかっているものも含まれている可能性があります
公式情報ではないので、あくまで参考程度で!
ベース部分
土台部分はこんな感じっぽい。馴染みある構成
- 状態管理など: riverpod + flutter_hooks + freezed
- ルーティング: go_router
- フォント: google_fonts(Noto Serif Japanese / Roboto)
- Service Locator: get_it
- ロギング: logger / logging
- Lint: flutter_lints / custom_lint
- Google系
- flutterfire: analytics/crashlytics/messagingのみ
- Google認証: googleapis_auth / google_identity_service_web
- モニタリング
- bugsnag_flutter / bugsnag_bridge
- モニタリングやエラートラッキングサービスのBugsnag
- プログラミングパラダイム
共通的な機能など
公式やCommunityが出している系の
共通的な機能などはこんな感じっぽい
- Flutter Package / Flutter Community系
- 他のアプリの起動など: android_intent_plus
- ネットワークの接続状態: connectivity_plus
- 端末情報: device_info_plus
- パッケージ情報: package_info_plus
- ジャイロなどのセンサー系: sensors_plus
- シェア機能: share_plus
- RAMサイズ: system_info_plus
- URLの起動: url_launcher
- WebView: webview_flutter
- 見えてる範囲への表示検知: visibility_detector
- パーミッションのチェックや取得など: permission_handler
- 設定画面を開く: app_settings
- ローカル通知: flutter_local_notifications
- アプリ内レビュー: in_app_review
- ホーム画面のアプリアイコンのバッジ: app_badge_plus
- 別アプリから共有の受信: receive_sharing_intent
- シェア機能: appinio_social_share
- DeepLink: app_links
- スマホのフリフリ検知: shake
- QRコード生成: qr
多言語対応
slagはめっちゃ便利そう
画像/動画系
このあたりから、全然知らないやつばかり。。
表示や選択
- extended_image
- 多機能なImageウィジェット。placeholder、cache network、zoom、editなどなど
- video_player
- 動画再生ウィジェット
- file_picker
- ネイティブのファイルエクスプローラーを利用したファイル選択
- image_gallery_saver
- 画像も保存できるimage_picker
加工・圧縮・軽量化
- get_thumbnail_video
- 動画やURLからのサムネイル作成
- blurhash_ffi
- image
- 画像操作ライブラリ、読み書きやフォーマット変換など
- flutter_image_compress
- 画像の軽量化。qualityやwidth/heightなどを指定できる
その他
- flutter_video_info
- 動画情報の取得。title、height/width、mimetypeなどなど
- screenshot
- archive
- zipなどのファイル圧縮関連
- cross_file
- クロスプラットフォーム対応のファイル操作
- path_provider
- temp dirなどの各種パスを取得
UI系: テキスト入力
- flutter_native_text_input
TextField
ではなく、nativeのUITextView
やEditText
を利用できるwapper widget
- string_validator
- validationライブラリ。validator.jsのDart実装?
UI系: Widget系
- gradient_borders
- グラデーションのある枠線
- tabbar_gradient_indicator
- グラデーションのあるタブバー
- flutter_slidable
- スライドアクションがあるスライド可能なリスト項目
- nested_scroll_view_plus
- NestedScrollViewの拡張ライブラリ
- scrollable_positioned_list
- 特定のリスト要素までスクロールできるリスト
- scrolls_to_top
- iOSのscrolls-to-topを実現するためのライブラリ
- smooth_page_indicator
- かわいいPageIndicator
- super_tooltip
- 多機能ツールチップ
- アニメーション: lottie / rive
時間系
ローカルデータ系
- shared_preferences
- flutter_secure_storage
- セキュアなストレージへの読み書き(iOS Keychain or Android EncryptedSharedPreferences)
- isar / isar_generator
- ローカルで非同期なNoSQLデータベース。Hiveの後継っぽい
文字操作/フォーマット系
- recase
- camelCaseなどへの変換
- charset_converter
- 文字エンコーディングの変換
- flutter_charset_detector
- 文字エンコーディングの検出
- format
- sprintf
- sprintfのDart実装
JSON/YAML/CSVなど
Testing
- 現在時刻の指定: clock
- 非同期機能用 : fake_async
- ファイルシステムのMock化: file
- CI環境の検知: ci
- matcher
- leak_tracker / leak_tracker_testing
- timing
- パフォーマンス計測用の時間計測パッケージ
- test_api ... ???
その他もろもろ
- ID生成: ulid / uuid
- ライセンスリスト生成: flutter_oss_licenses & dart_pubspec_licenses
- JWTのデコード: jwt_decode
- MIMEタイプ判定: mime
- dartx
- utils系のextensions
- metadata_fetch
- WebページからOpenGraph情報などを取得するライブラリ
- petitparser
- パーサーライブラリ
- synchronized
- Javaの
synchronized
のように並列実行を安全に行うライブラリ
- Javaの
- xxh3
- 高速はハッシュアルゴリズムのDart実装 XXH3 hashing algorithm
- material_color_utilities
- Material Design3で利用されるアルゴリズムやutils
- 画像からのテーマカラー選択やカラートーン生成など
- dbus
- built_value
- ObjectやEnumのSerializationなどをいい感じにしてくれる
- graphs
- Node/Edgeがあるグラフのデータ構造
- typed_data
- 型付きデータリストのutility
- vector_math
- macros
落ち着いたら、公式ブログとかで詳細な構成などが、
記事になって公開されるといいな〜(*´ω`*)
おまけ
サーバーもDart?
ライセンスにgRPCやWebサーバも含まれていて、
monorepo&フルスタックDartっぽさもある?
- gRPC関連
- Webサーバ関連
- nm
- Linux上のネットワーク接続を管理するNetrowkManagerへの接続クライアント
- http_client_helper
- httpリクエストのキャンセルやリトライなどのヘルパー
ヘルプページはFreshdeskっぽい?
freshdesk
というキーワードが含まれてる気がする