1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者がFlutterでアプリを作成する際に利用したライブラリ, サイト

Posted at

はじめに

友人から「ホーム画面のウィジェットでタイムラップを記録できるストップウォッチみたいなアプリが欲しい」と言われたので1人月ほどで作成してみました。Flutter初心者です。

最初はReact Nativeで作成しようと思いましたが、「CSSの設定がOSによって違いすぎる」「求めているライブラリが少なすぎる」などの理由で今回は「ライブラリが多そう」、「ネイティブよりは早く実装できそう」という理由でFlutterで作成しました。
※React Nativeのほうがビルド。ホットリロードなどの観点から見れば良かったです。Expoすごく便利。Flutterでも使えるようにしてほしい。

今回作ったアプリはこんな感じです。
ウィジェットに記録した時間を一覧で確認,編集ができる かつ 統計情報を管理できるアプリです。

Animation.gif

作成はしたものの、次回改修するときに絶対諸々忘れそうなので、備忘録がてら、作成に当たり利用したサイト。ライブラリをざっくり書き出していきます。

※Flutterライブラリ[home_widget]は利用していません。widget自体の処理はネイティブで実装して、データのやり取りはmethod channel利用してFlutter側で処理しています。

【サイト】

pub.dev

Flutter 公式ライブラリリポジトリ。

ライブラリを探すときは基本ここで探す。

ただし、ここに書いている情報が全てではないので、githubを見るなり、Qiita記事を読みながら実装していく。

flutter awesome

Flutterに関するライブラリ、ツールなどをまとめたサイト。
ライブラリだけでなく、仕様などの記事も掲載されているので近況を確認しやすい。

flutter gems

Flutterライブラリのカテゴリー別インデックスサイト。
pub.devで探しにくい場合に役立つ。
各ライブラリのサンプル画像がカテゴリ別に確認できるため、非常に利用しやすい。

【ライブラリ】

icons_plus

様々なアイコンを提供するライブラリ。
アイコンに統一感が欲しかったので、ライブラリでテーマ管理。

modal_bottom_sheet

ボトムシートを簡単に表示できるライブラリ。
標準のものよりはこっちのほうが使いやすく、改修しやすと記載があったので、こちらを採用。
何が使いやすいかはあまり深く考えず、利用してます。

hive

軽量なNoSQLデータベース。
データベースと入っているが、DB領域ではなくSharedPreferencesに登録されるらしい。
設定項目などはhive形式で管理するのが良さそう。
データを蓄積して表示する系のものには向いてない。

fl_chart

グラフを描画するためのライブラリ。
Flutterでグラフを表示するならこれが一番いい。
折れ線、円、線形など様々なグラフに対応していてUIもアニメーションがデフォルトで動作するから見栄えがすごくいい。

Drift

永続化のためのORMライブラリ。
AndroidでいうところのRoom DB。
FlutterでORMを利用するならDrift一択なのかもしれない。
SQ Liteも存在はするが、個人的にはSQLを書きたくはないのでDB利用するのならDrift一択。

drift_flutter

DriftをFlutterで利用するためのライブラリ。
実はDriftだけでは動かない。
他にsqlite3_flutter_libs, path_provider, path, drift_dev, build_runnerも必要になる。

こちらの方の記事が参考になりましたので、利用する場合はこちらご残照ください。
https://qiita.com/team7_403_poppin/items/b6eb8a15ef716834f2e5

sqlite3_flutter_libs

sqlite3を利用するために必要なライブラリ。
Drift用

path_provider

デバイスのファイルシステム上の一般的なディレクトリへのパスを取得するためのライブラリ。
Drift用

path

パス操作を簡潔にするライブラリ。
Drift用

card_swiper

カード型のスワイプUIを提供するライブラリ。
スワイパー系のライブラリで一番早く爆速で実装できた。
いい感じに横並びさせたいときはこれを使うと良き。

intl

多言語化のためのライブラリ。
言語というより、今回はDatetime型を利用するために導入。

slide_switcher

スライド式のスイッチUIを提供するライブラリ。
tabほどではないが、ボダンを切り替えて表示する系のUIとして便利。
このライブラリはpub.devでは見つけられなくてflutter gemsで発見した。

最後に

Androidの知識があったのでなんとか作成にこじつけることができましたが、かなり大変と感じました。
あと、作成にはAIアシスタントガッツリ利用しました。
知見のない言語で開発するときに大変頼りになる存在です。もうAIアシスタント無しでは開発無理と言っても過言でないかもしれない…
Gemini以外でも無料でAIアシスタント使えるようにしてほしいと願望をこぼしておきます。

最後に、コミケアプリとか作ってみたい…(言うだけならタダ)

1
1
0

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
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?