【 Flutter 】Flutter を 基礎 から 学習 ( ライブラリ ) part193 パッケージ

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は ライブラリ ( part193 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( Material ComponentsとiOS-Style ) part192 Cupertino

今回からライブラリについて学びます。

パッケージの種類

一般的に便利な関数群やクラス群をひとまとめにしたグループをライブラリと呼びます。
このライブラリはほかの人が作成したものを利用することもできますし(サードパーティ)、自身で作成することも可能です。
有償で提供されているライブラリもあるかもしれません。

Dartではこのライブラリパッケージと呼んでいます。
Flutterでもパッケージと呼んでいるようです。

Flutterではパッケージをさらに大きくDartパッケージ,Pluginパッケージの2つに分けて識別しています。

  • Dartパッケージ
    • 文字通りDartで記述されたパッケージです。本書ではpathパッケージを挙げています。
      ほとんどのDartパッケージはFlutterに依存していません。
      これはFlutterを使用していなくても(ピュアなDartでも)使用できるということです。
      Dartは昔(?)、JavaScriptの代替品の位置を目指していたそうです。
      このDartパッケージはそんな分野でも使用できたかもしれないということですね。

      稀にFlutter依存のDartパッケージもあるそうです・・・

  • Pluginパッケージ
    • 特殊なDartパッケージです。
      どのように特殊なのかというと、このパッケージは「プラットフォーム固有の機能にアクセスするためのネイティブな実装」を含んでいます。
      例えば「動画の編集をする機能」を使用しようとすると、AndroidとiOSでは呼び出すAPIが異なります。
      この部分をPluginパッケージでまるっとラッピングして提供することができるんですね。(Android, iOSのネイティブな実装を知らなくても使えるということですね)

最後に

久しぶりにDartという文字列を見た気がしました😅

今日はここまで!

参考

Flutterで動画編集ができるパッケージ、Tapiocaを作った話 – Qiita