Turso ✕ Flutterを試してみる
1. Turso
なんか無料のRDBないかな〜(わがまま)と探していたら、そのわがままに付き合ってくれそうなサービスがTursoでした。
RDBを持ちながら、無料枠で下記のような機能を持っていて、良すぎるほどでした。
- 9GBのストレージ
- 500個のデータベース
- 1億回/月の読み取り
- 2500万回/月の書き込み
上記は、2025年5月現在の情報です。
RDBと言っても、中身はPostgreSQLでも、MySQLでもなく、SQLite(正確にはLibSQL) ですが、パフォーマンスも十分に出るらしいです。ちょっとしたアプリが組めればいいなと思っていたので、問題ないです。
2. with Flutter
Flutterと連携した使い方は、下記の公式を参照。
Flutter(Dart)だけでなく、いろんな言語をサポートしてるのは良いですね。Flutter(Dart)だけ、OfficialじゃなくCommunityになってるのは気になる・・。
2.1. QuickStartでちょっと詰まったところ
QuickStart通りにやったんですが、いくつか詰まったところがあるので、下記にまとめます。
そのうち、改善するやつもあるかも。
ちなみに試している環境は、MacとAndroidの組み合わせです。
エラー1: "liblibsql_dart.so" not found
Invalid argument(s): Failed to load dynamic library 'liblibsql_dart.so': dlopen failed: library "liblibsql_dart.so" not found
なぜかわかりませんが、liblibsql_dart.so
がないと怒られます。
Flutter界隈では困ったら以下のコマンドを打つことが決まっています(知らんけど)。
$ flutter clean
エラー2: rustup not found in PATH.
SEVERE: ================================================================================
SEVERE: Cargokit BuildTool failed with error:
SEVERE: --------------------------------------------------------------------------------
SEVERE:
SEVERE: rustup not found in PATH.
SEVERE:
SEVERE: Maybe you need to install Rust? It only takes a minute:
SEVERE:
SEVERE: $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
SEVERE:
SEVERE: ================================================================================
Rustをインストールしろと怒られます。大人しく、書かれているコマンドを打ちましょう。
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
3. メモアプリを作ってみた
簡単に1行ぐらいのメモを残せるアプリを作ってみました。Tursoに対して、参照、書き込み、削除がしっかりできていました!🎉
バックエンドの準備も必要なく、簡単にアクセスできるのが良いですね。SQLをベタに書いている点については、セキュリティ的に注意が必要です。
アプリ画面
Tursoの画面(ブラウザ)
上記のアプリをサンプルとして、下記に公開してますので、興味あれば試してみてください。README通りやれば、多分動くと思います。
4. 感想
商用で使う分には、なんとも言えないところはありますが、個人でちょっとしたアプリを作るのには十分な気はします。SQLiteを使ったサービスがもっとあってもいいと思うんですが、どうなんでしょう(自分が知らないだけかも)。
Discussion